[.Net线程处理系列]专题六:线程同步——信号量和互斥体-创新互联

也不多说了,直接进入主题了

创新互联公司从2013年开始,是专业互联网技术服务公司,拥有项目网站制作、成都网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元沂源做网站,已为上家服务,为沂源各地企业和个人服务,联系电话:18980820575

一、信号量(Semaphore)

信号量(Semaphore)是由内核对象维护的int变量,当信号量为0时,在信号量上等待的线程会堵塞,信号量大于0时,就解除堵塞。当在一个信号量上等待的线程解除堵塞时,内核自动会将信号量的计数减1。在.net 下通过Semaphore类来实现信号量同步。

Semaphore类限制可同时访问某一资源或资源池的线程数。线程通过调用 WaitOne方法将信号量减1,并通过调用 Release方法把信号量加1

先说下构造函数:

public Semaphore(int initialCount,int maximumCount);通过两个参数来设置信号的初始计数和大计数。

下面通过一段代码来演示信号量同步的使用:

 

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前文章:[.Net线程处理系列]专题六:线程同步——信号量和互斥体-创新互联
URL分享:http://myzitong.com/article/hsggj.html