三種線程的區別
阿新 • • 發佈:2018-01-26
lis nbsp 語言 優先級 pat 隊列 %d void you
-(void)gcd3
{
// 關註點:給哪個隊列添加了幾個任務 ,添加任務的順序是
NSLog(@"11111111%@",[NSThread currentThread]);
dispatch_queue_t queue=dispatch_queue_create(nil, DISPATCH_QUEUE_SERIAL);
for (int i=0; i<6; i++) {
dispatch_async(queue, ^{//給串行隊列裏面添加了6個任務,非立即添加
NSLog(@"%@ %d",[NSThread currentThread],i);
});
}
dispatch_sync(queue, ^{ //給串行隊列裏面添加了1個任務,立即添加
NSLog(@"888888%@",[NSThread currentThread]);
for (int i=0; i<3; i++) {
[NSThread sleepForTimeInterval:2];
NSLog(@"222222%@",[NSThread currentThread]);
}
});
}
- 線程的顯式,隱式
- 管理線程的生命周期方面
- 共享數據的安全問題
- 使用的場景方面
三種線程的區別