Semaphore用法
Posted 前列腺钙化
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Semaphore用法相关的知识,希望对你有一定的参考价值。
HANDLE hSemaphore;
cout<<1<<endl;
hSemaphore = CreateSemaphore( NULL, 0, 10000, NULL); //初始 0个资源
ReleaseSemaphore(hSemaphore, 1, NULL); //+1
ReleaseSemaphore(hSemaphore, 1, NULL); //+1
DWORD dwWaitResult = WaitForSingleObject(hSemaphore, INFINITE); //等待到 -1
cout<<2<<endl;
WaitForSingleObject(hSemaphore, INFINITE); //等待到 -1
cout<<3<<endl;
WaitForSingleObject(hSemaphore, INFINITE); //此时资源为0,阻塞在这里等待资源增加才能继续
cout<<4<<endl;
以上是关于Semaphore用法的主要内容,如果未能解决你的问题,请参考以下文章
CountDownLatchCyclicBarrier和 Semaphore
Java并发编程:CountDownLatchCyclicBarrier和 Semaphore
Java并发编程:CountDownLatchCyclicBarrier和 Semaphore
CountDownLatchCyclicBarrier和Semaphore