[self
performselectorinbackground:
@selector
(intobackground) withobject:
nil]; [
self
performselectoronmainthread:
@selector
(intoforword) withobject:
nilwaituntildone:
yes];
建立子執行緒
1.[nsthread detachnewthreadselector:@selector(intobackthread:) totarget:self withobject:imageview];
2. nsthread *thread =[[nsthread
alloc] initwithtarget:self
selector:@selector(intobackthread:) object:imageview];
[thread start];
在子執行緒中進行的操作需要autoreleasepool
@autoreleasepool{}
[imageview performselectoronmainthread:
@selector
(setimage:) withobject:image waituntildone:
yes];
// 利用佇列設定同時併發的執行緒個數
[self
.queuesetmaxconcurrentoperationcount:4];
for (uiimageview *imageview in
self.dataarray)
@autoreleasepool];
}];[self.queue
addoperation:blockoperation];}}
}在子執行緒中進行的操作需要
autoreleasepool
[imageview performselectoronmainthread:
@selector
(setimage:) withobject:image waituntildone:
yes];
// 佇列初始化(全域性佇列)
dispatch_queue_t
queue =
dispatch_get_global_queue
(dispatch_queue_priority_default, 0);
// 同步:一步一步做非同步:同時做
for (uiimageview *imageview in
self.dataarray) );
});}
}
iOS 多執行緒技術2
建立乙個佇列 nsoperationqueue queue nsoperationqueue alloc init 建立子任務,定義子任務必須是 nsoperation 的子類 nsinvocationoperation op nsinvocationoperation alloc initwith...
iOS多執行緒
iphone 中的執行緒應用並不是無節制的,官方給出的資料顯示iphone os下的主線程的堆疊大小是1m,第二個執行緒開始都是512kb。並且該值不能通過編譯器開關或執行緒api函式來更改。只有主線程有直接修改ui的能力。一 nsoperation和nsoperationqueue 1 乙個繼承自...
iOS多執行緒
iphone 中的執行緒應用並不是無節制的,官方給出的資料顯示iphone os下的主線程的堆疊大小是1m,第二個執行緒開始都是512kb。並且該值不能通過編譯器開關或執行緒api函式來更改。只有主線程有直接修改ui的能力。一 nsoperation和nsoperationqueue 1 乙個繼承自...