iOS多執行緒技術

2021-07-10 05:53:36 字數 1397 閱讀 2694

[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 乙個繼承自...