GCD信号量

2017-07-26  本文已影响0人  biggerworld

GCD信号量主要用到了以下三个方法:

   dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
   dispatch_semaphore_signal(semaphore);
   dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);

dispatch_semaphore_t semaphore =dispatch_semaphore_create(0);
这个方法表示创建一个信号量,0表示初始值。
dispatch_semaphore_signal(semaphore);
这个方法是表示发送信号,即表示信号量加1.
dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);
这个方法表示等待,如果此时信号量为0则表示一直等待下去阻当前的线程。如果大于0则向下执行并且信号量减一。

上一篇下一篇

猜你喜欢

热点阅读