目标C语言 让每个NSThread自动分配一个队列



是否每个线程默认都有一个关联的调度队列?我只是想知道我是否可以在每个上下文中使用dispatch_semaphore s,或者如果我需要将其包装在具有定义队列的显式调度调用中。

这并不像你的问题所暗示的那样。默认情况下,有一个与主线程关联的主调度队列,以及三个并发的全局队列(分别为高优先级、默认优先级和低优先级)。

并发队列管理它们自己的线程资源,而不是与任何特定的线程相关联。

事实上,它在dispatch_queue_create()的手册页上非常明确地说:

"队列不绑定到任何特定的执行线程,提交给独立队列的块可以并发执行。"

关于是否可以在调度队列之外使用调度信号量(问题的另一部分),答案是肯定的,可以。它们是在Mach信号量之上实现的,应该可以在任何地方工作。您可以在这里看到代码:

http://opensource.apple.com/source/libdispatch/libdispatch-84.5.5/src/semaphore.c

相关内容

  • 没有找到相关文章

最新更新