2
它们都使用计数器并使用锁来保护计数器的递增和递减,并且当计数器小于零时,线程将等待。在我看来,除了他们的API之外,他们是一样的。iOS中的NSCondition和dispatch_semaphore除了它们的API之外有什么区别?
它们都使用计数器并使用锁来保护计数器的递增和递减,并且当计数器小于零时,线程将等待。在我看来,除了他们的API之外,他们是一样的。iOS中的NSCondition和dispatch_semaphore除了它们的API之外有什么区别?
苹果写他们对文档中DispatchSemaphore
signal()
方法:
此功能唤醒线程当前正等待在dispatch_semaphore_wait(: :)。
不同于DispatchSemaphore
,NSCondition
有2种不同的方法:
1)broadcast()
:
信号的条件下,唤醒等待它的所有线程。
2)signal()
信号的条件下,唤醒一个线程等待它。