习惯性的爱使用全局变量定义dispatch_queue_t类型,并在+ (void)load;方法中做初始化。
在AFNetworking中看到了更优雅的做法。代码如下:
static dispatch_queue_t url_session_manager_processing_queue() {
static dispatch_queue_t af_url_session_manager_processing_queue;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
af_url_session_manager_processing_queue = dispatch_queue_create("com.alamofire.networking.session.manager.processing", DISPATCH_QUEUE_CONCURRENT);
});
return af_url_session_manager_processing_queue;
}
网友评论