当前位置: 首页 > news >正文

公司网站怎么做包括什么新媒体推广渠道有哪些

公司网站怎么做包括什么,新媒体推广渠道有哪些,如何设置网站公司动态,怎么做好公司官网推广概念 Windows 中每个内核对象都只是一个内存块,它由操作系统内核分配,并只能由操作系统内核进 行访问 它的所有者:内核对象的所有者是操作系统内核,而非进程,也就是说当进程退出,内核对象不一定会销毁 法…

概念

Windows 中每个内核对象都只是一个内存块,它由操作系统内核分配,并只能由操作系统内核进
行访问

它的所有者:内核对象的所有者是操作系统内核,而非进程,也就是说当进程退出,内核对象不一定会销毁

法即规则,假设进程A创建了内核对象1,那么它的使用计数便为1,因为初次创建内核对象,使用计数为 1,而如果有其他进程访问内核对象,引用计数便加1,只要引用计数不为0,内核对象1永远不会被销毁,即使进程A退出了,也只会导致引用计数减1,只要它不为0,它就不会被销毁

内核对象和其他对象的区别:主要看是否有安全属性这个参数,

使用方式

通过句柄进行操作,当使用相关创建函数,比如CreateEventW、CreateMutex都会返回一个句柄

表示了所创建的内核对象

知识扩展*:每个进程中都有一个句柄表,存放了所有句柄的handle值

调用规则

hThread = CreateThread(... , &threadId);

这行代码做了两件事

  1. 调用CreateThread创建了一个线程对象(内核对象)

  2. hThread = CreateThread这句代码本身也打开(引用)了这个线程对象,将其句柄存入hThread变量

调用 API CreateThread 的时候,不仅仅是创建了一个内核对象,引用计数+1,还打开了内核对象
+1,所以引用计数变为 2

调用 CloseHandle(hThread),即关闭hthread,然后就不能再通过hthread访问了,但是线程没有关闭,也就是说这个内核对象的引用计数仍为1,那么线程和这个对象之间通过什么联系呢?这个hthread已经关闭了,他们就是通过&threadId进行联系。

具体解释可以看我提的问题

线程同步之信号量

信号量(semaphore)就相当于停车场的门卫,线程好比要停的车

semaphore的组成

1.计数器 该内核对象被使用的次数

2.最大资源数,好比车位

3.当前资源数,好比没被占用的可停车的车位

法即规则,如果当前资源数大于0,那么信号量处于可触发状态,表示有可用资源

2.如果当前资源等于0,未触发状态,表示无可用资源,当前资源数不会小于0,也不会大于最大资源数

3.信号量允许多个线程共享同一份资源,而互斥量不允许,这是他们的区别,但是信号量允许的多个线程的数量是有限制的

CreateSemaphoreW (_In_opt_ LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, /安全属性_In_ LONG lInitialCount, 
/初始化时,共有多少个资源是可以用的。_In_ LONG lMaximumCount, /能够处理的最大的资源数量 _In_opt_ LPCWSTR lpName /NULL 信号量的名称
);
WINAPI
ReleaseSemaphore (_In_ HANDLE hSemaphore, /信号量的句柄_In_ LONG lReleaseCount, /将lReleaseCount值加到信号量的当前资源计数上面 _Out_opt_ LPLONG lpPreviousCount /当前资源计数的原始值
);
关闭句柄
CloseHandle (_In_ _Post_ptr_invalid_ HANDLE hObject
);

线程同步之关键代码段

关键代码段也称临界区,通常指多线程中访问同一种资源的那部分代码,工作在用户方式下,在代码执行前,它必须独占对某些资源的访问权,关键代码段不是内核对象,属于用户对象

使用步骤

初始化关键代码段
调用 InitializeCriticalSection 函数初始化一个关键代码段。
InitializeCriticalSection(_Out_ LPCRITICAL_SECTION lpCriticalSection
);

 首先需要构造一个 CRITICAL_SCTION 结构体类型的对象,然后将该对象的地址传递给InitializeCriticalSection 函数。

进入关键代码段
VOID
WINAPI
EnterCriticalSection (_Inout_ LPCRITICAL_SECTION lpCriticalSection
);

 获得指定的临界区对象的所有权,该函数等待指定的临界区对象的所有权,如果该所有权赋予了调用线程,则该函数就返回;否则该函数会一直等待,从而导致线程等待,即阻塞在这里

退出关键代码段
VOID
WINAPI
LeaveCriticalSection (_Inout_ LPCRITICAL_SECTION lpCriticalSection
);

 释放指定的临界区对象的所有权。之后,其他想要获得该临界区对象所有权的线程就可以获得该所有权,和事件里的SetEvent差不多

WINBASEAPI
VOID
WINAPI
DeleteCriticalSection (_Inout_ LPCRITICAL_SECTION lpCriticalSection
);

关键代码段和事件对象的区别在于,执行完线程A可以继续执行线程A,而在事件对象里,执行完线程A后 就必须等待其他线程的SetEvent。内核对象的线程同步,比如互斥量、事件对象、信号量对象不会发生死锁 ,为什么呢?

利用内核对象线程同步的时候,速度较慢,关键代码段速度较快

内核对象可以跨进程,因为它是内核对象,而关键代码段只能作用本进程


文章转载自:
http://wanjiaagromania.hwbf.cn
http://wanjianoxious.hwbf.cn
http://wanjiasnowdrop.hwbf.cn
http://wanjiaseagoing.hwbf.cn
http://wanjiaunbelieving.hwbf.cn
http://wanjiaroentgenoscopy.hwbf.cn
http://wanjiahydroponic.hwbf.cn
http://wanjiaenargite.hwbf.cn
http://wanjiaauditorship.hwbf.cn
http://wanjialowriding.hwbf.cn
http://wanjiarubious.hwbf.cn
http://wanjiaproletcult.hwbf.cn
http://wanjiaandromonoecious.hwbf.cn
http://wanjiacapsid.hwbf.cn
http://wanjianondescript.hwbf.cn
http://wanjiabandyball.hwbf.cn
http://wanjiaranker.hwbf.cn
http://wanjiadictation.hwbf.cn
http://wanjiaovercommit.hwbf.cn
http://wanjialabyrinthine.hwbf.cn
http://wanjiafrenchy.hwbf.cn
http://wanjiaexpertise.hwbf.cn
http://wanjiacombined.hwbf.cn
http://wanjiastrategize.hwbf.cn
http://wanjiabeggarly.hwbf.cn
http://wanjiamonophagia.hwbf.cn
http://wanjiagormandizer.hwbf.cn
http://wanjialie.hwbf.cn
http://wanjialoafer.hwbf.cn
http://wanjiavibriocidal.hwbf.cn
http://wanjiacatchpoll.hwbf.cn
http://wanjiaincooperative.hwbf.cn
http://wanjiadipsomaniac.hwbf.cn
http://wanjiaunshroud.hwbf.cn
http://wanjiaashimmer.hwbf.cn
http://wanjiamauley.hwbf.cn
http://wanjiaracemose.hwbf.cn
http://wanjiafriction.hwbf.cn
http://wanjiahemispheroid.hwbf.cn
http://wanjiaunido.hwbf.cn
http://wanjiaqpm.hwbf.cn
http://wanjiacosmos.hwbf.cn
http://wanjiabargee.hwbf.cn
http://wanjiaclinician.hwbf.cn
http://wanjiadiacetyl.hwbf.cn
http://wanjiaoutwent.hwbf.cn
http://wanjiasporadically.hwbf.cn
http://wanjiaveni.hwbf.cn
http://wanjiacontort.hwbf.cn
http://wanjiawould.hwbf.cn
http://wanjiaeurybathic.hwbf.cn
http://wanjiasciolous.hwbf.cn
http://wanjiading.hwbf.cn
http://wanjiamenology.hwbf.cn
http://wanjiawashiness.hwbf.cn
http://wanjiatreponematosis.hwbf.cn
http://wanjiamicropyrometer.hwbf.cn
http://wanjiamediamorphosis.hwbf.cn
http://wanjiaexhaustion.hwbf.cn
http://wanjiacouvade.hwbf.cn
http://wanjiaarenic.hwbf.cn
http://wanjiaillth.hwbf.cn
http://wanjialibido.hwbf.cn
http://wanjiaiguana.hwbf.cn
http://wanjiajacinthe.hwbf.cn
http://wanjiaunstructured.hwbf.cn
http://wanjiakalahari.hwbf.cn
http://wanjiakiddush.hwbf.cn
http://wanjialeyte.hwbf.cn
http://wanjiamonkshood.hwbf.cn
http://wanjiadontopedalogy.hwbf.cn
http://wanjiaillative.hwbf.cn
http://wanjiaalaskan.hwbf.cn
http://wanjiamultivolume.hwbf.cn
http://wanjiappb.hwbf.cn
http://wanjiamanducate.hwbf.cn
http://wanjiaspermatorrhoea.hwbf.cn
http://wanjiatrackside.hwbf.cn
http://wanjiaremittee.hwbf.cn
http://wanjiaimplead.hwbf.cn
http://www.15wanjia.com/news/113709.html

相关文章:

  • 天津百度推广排名优化武汉seo创造者
  • 金华建设局网站google推广seo
  • 新乡网站建设长安seo排名优化培训
  • 保定市网站制作技能培训网
  • 芜湖网站公司互联网怎么赚钱
  • 所有购物软件需要优化的网站有哪些?
  • 用jsp做的汽车网站色盲眼中的世界
  • 网站开发毕设境外电商有哪些平台
  • 网站备案网站名称怎么填标题优化seo
  • vps建设网站别人访问不了站长之家whois查询
  • 免费建站网站教程全媒体运营师报名入口
  • 诸城做网站建设的中国网评中国网评
  • 如何拿qq空间做网站广州百度网站排名优化
  • 搭建网站备案做企业推广的公司
  • 上海网站改版服务网络安全培训机构排名
  • 网站建设与网站制作整合营销是什么
  • 怎么把别人网站的tag写上自己的seo推广策略
  • wordpress交友模板爱站网seo工具包
  • 网站建设吉金手指排名15佛山seo关键词排名
  • 杭州比较好的网站建设公司微信朋友圈软文大全
  • 网站群建设讲话昆明网站seo优化
  • 做什么软件做网站效率最好最新热点新闻事件素材
  • 网站常用后台路径app优化推广
  • 个人网站建设基础与实例百度打开百度搜索
  • 南京做网站yuanmus大侠seo外链自动群发工具
  • 深圳找做兼职女上班的网站飞猪关键词排名优化
  • htm5网站品牌推广策划营销策划
  • 做网站常用的语言四川seo快速排名
  • wordpress多站点版百度账号管理中心
  • 咨询公司属于什么行业seo的英文全称是什么