Jim*_*mmy 2 thread-safety addressbook grand-central-dispatch objective-c-blocks
GCD是否确保在同一队列中工作的所有块始终在同一个线程中工作?
如果我为此队列创建一个调度队列和dispath_async块,那么调度到该队列的所有块是否都在同一个线程中工作?
由于我正在开发一个使用ABAdrressbook Framerowk的项目,并且该文档说不能在线程之间使用ABAddressBookRef和ABRecordRef,所以我想知道队列中的所有块是否都在同一个线程中,我只能创建一个AddressBookRef为那个队列.
绑定到特定线程的唯一队列是主队列,它绑定到主(UI)线程.
如果唯一的要求是不同时访问对象,使用串行队列应该可以正常工作.
如果对象依赖于线程本地状态,则必须强制所有操作到特定线程.最简单的方法是将你的串行队列定位到主线程,但只有当你知道你不会长时间陷入困境时才会有效.否则,您将挂起您的UI.在这种情况下,您将必须创建自己的处理程序线程并在那里发送工作.
| 归档时间: | 
 | 
| 查看次数: | 446 次 | 
| 最近记录: |