遇到需求,想维持一个独立的线程来处理特定的一些业务逻辑。利用gcd来做的话,就是开辟一个独立的队列来做。然后不停的往队里当中释放NSBlock的task就可以了。
这里摘录的是AFNetwork库里面的处理方式。可以借鉴这种方式来创建自己的队列。
static dispatch_queue_t url_session_manager_creation_queue() {
static dispatch_queue_t af_url_session_manager_creation_queue;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
af_url_session_manager_creation_queue = dispatch_queue_create("com.alamofire.networking.session.manager.creation", DISPATCH_QUEUE_SERIAL);
});
return af_url_session_manager_creation_queue;
}
网友评论