dispatch_semaphore 信号量

2021-08-30  本文已影响0人  紫嫣沁

1》:dispatch_semaphore 信号量

dispatch_semaphore_create(<#long value#>):创建一个信号,value:信号量

dispatch_semaphore_signal(<#dispatch_semaphore_t dsema#>):释放信号量,使信号量+1

dispatch_semaphore_wait(<#dispatch_semaphore_t dsema#>, <#dispatch_time_t timeout#>):阻塞,在信号量未释放之前(信号量<=0),不再继续执行下面的操作。注意,该操作会先把信号量-1

正常的使用顺序是先降低然后再提高,这两个函数通常成对使用。

dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);

1,dispatch_semaphore_t semaphore = dispatch_semaphore_create(2); //保证同一时间执行的线程数不超过2个,可以有2个线程同时执行

2,.注意dispatch_semaphore_signal和dispatch_semaphore_wait是成对出现的

上一篇 下一篇

猜你喜欢

热点阅读