#pragma mark -并行隊(duì)列
- (void)gcdDemo2
{
// 1.并行隊(duì)列
dispatch_queue_tq =dispatch_queue_create("myQueue",DISPATCH_QUEUE_CONCURRENT);
//非ARC中消玄,需要自己釋放隊(duì)列
//??? dispatch_release(q);
// 3.同步任務(wù),不會(huì)開啟新的線程
//在實(shí)際開發(fā)中,同步任務(wù)可以保證執(zhí)行完成之后,才讓后續(xù)的異步任務(wù)開始執(zhí)行霸株,用于控制任務(wù)之間的先后順序
//在后臺(tái)線程中哥遮,處理“用戶登錄”
for(inti =0; i <10; i++) {
dispatch_sync(q, ^{
NSLog(@"%@ - %d", [NSThreadcurrentThread], i);
});
}
// 2.異步任務(wù)砚尽,會(huì)在多條線程上工作棠笑,具體開多少條線程,由系統(tǒng)決定
//仍然是按照任務(wù)添加到隊(duì)列中的順序被調(diào)度祟辟,只是執(zhí)行先后可能會(huì)有差異医瘫!
// ***能夠?qū)⒑臅r(shí)的操作,放到子線程中工作
// ***與串行隊(duì)列異步任務(wù)相比旧困,并發(fā)性能更好醇份!但是執(zhí)行的先后順序,不固定
for(inti =0; i <10; i++) {
dispatch_async(q, ^{
NSLog(@"%@ - %d", [NSThreadcurrentThread], i);
});
}
}