iPhone:我如何实现信号量?

DeF*_*Flo 2 iphone semaphore objective-c

有人可以解释我如何在Objective-C中实现信号量?我做了很多关于这个主题的谷歌搜索,但我没有发现任何可以理解的东西.

Jer*_*myP 12

如果你肯定需要一个实际的信号量,可能最好用的是GCD的调度信号量.我会给出一个解释,但链接中的代码非常简单.你应该能够遵循它.

基本上,您使用一个参数创建信号量,该参数指示您可以拥有的资源的并发实例数.然后,想要使用资源的线程在信号量上等待,直到一个变为可用,并在完成后发出信号.

考虑使用调度队列NSOperationQueue,而不是资源实例数的并发限制.这是批准的Apple做这种事情的方式.