//第一種方式 手動建立並啟動
nsthread *t = [[nsthread alloc] initwithtarget:self selector:@selector(method) object:nil];
[t start];
//第二種方式 類方法
[nsthread detachnewthreadselector:@selector(method) totarget:self withobject:nil];
//第三種方式 類方法
[self performselectorinbackground:@selector(method) withobject:nil];
//第四種方式 block 語法
nsoperationqueue *operationqueue = [[nsoperationqueue alloc] init];
//會開啟乙個多執行緒,呼叫block
[operationqueue addoperationwithblock:^
}];//第五種 執行緒佇列(執行緒池)
nsoperationqueue *operationqueue2 = [[nsoperationqueue alloc] init]; //相當於乙個執行緒池,裡面可以放很多執行緒,這個執行緒池管理多個執行緒的排程,可以給執行緒設定優先順序,併發數
operationqueue2.maxconcurrentoperationcount = 1; //設定最大併發數量(併發=同時進行)
//建立執行緒
nsinvocationoperation *operation1 = [[nsinvocationoperation alloc] initwithtarget:self selector:@selector(thread1) object:nil];
//設定執行緒的優先順序
[operation1 setqueuepriority:nsoperationqueuepriorityverylow];
nsinvocationoperation *operation2 = [[nsinvocationoperation alloc] initwithtarget:self selector:@selector(thread1) object:nil];
[operation2 setqueuepriority:nsoperationqueuepriorityveryhigh];
//將執行緒新增到執行緒池
[operationqueue2 addoperation:operation1];
[operationqueue2 addoperation:operation2];
//----------------------回到主線程--------------------------------
//在多執行緒中可能載入資料,載入完了之後要重新整理ui, ui必須在主線程上面操作,在多執行緒的方法中這樣呼叫
[self performselectoronmainthread:@selector(thread1) withobject:nil waituntildone:yes];
//-----------------第六種執行緒的使用方式--------------
//這個函式是c的函式,字串test也要用c裡面的字串,是不帶@符號的
dispatch_queue_t queue = dispatch_queue_create("test", null);
dispatch_async(queue, ^
//回到主線程執行
dispatch_async(dispatch_get_main_queue(), ^
});});
-(void)thread1
執行緒的五種建立方式
執行緒的五種建立方式 1 繼承thread類,重寫run 方法,呼叫start 方法啟動執行緒public class testthread1 extends thread public static void main string args 2 實現runnable介面,重寫run 方法,建立r...
ios 檔案儲存的五種方式
為了將應用資料儲存到硬碟中,ios提供了 plist 屬性列表 資料庫儲存 sqlite 物件歸檔 nscoding core data,nsuserdefaults 1.plist屬性列表操作用來儲存一些固定的資料型別 nsarray nsstring nsdata nsnumber nsdict...
IOS 建立和使用多執行緒的6種方式
非原創 文字來自 純屬複製 程序和執行緒概念 乙個程式包含乙個以上的程序,而乙個程序又可以包含乙個以上的執行緒,每乙個程序都有自己獨立的記憶體空間,相應的乙個程序中的所有執行緒都共享該記憶體空間。程序 是乙個具有一定獨立功能的程式關於某個資料集合的一次執行活動。它是作業系統動態執行的基本單元,在傳統...