我無法掛起gcd查詢。下面是一些演示該問題代碼:暫停GCD查詢問題
static dispatch_queue_t q=nil;
static void test(int a){
if(q){
dispatch_suspend(q);
dispatch_release(q);
q=nil;
}
q=dispatch_get_global_queue(0,0);
dispatch_async(q,^ {
while(1){NSLog(@"query %d",a);sleep(2);}
});
}
int main(int argc, const char* argv[]){
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
test(1);
//blah blah blah
test(2);
while(1){}
[pool release];
return 0;
}
我試圖做的是暫停,釋放和重新初始化查詢Q時,功能測試被稱爲第二次,但apparenty我的代碼是錯誤的,的兩個實例查詢q繼續運行。
非常感謝您的幫助,謝謝。
你可能想[使用'NSOperationQueue'代替](http://stackoverflow.com/a/32807804/199360)。 – adib