NSThread創(chuàng)建線程的方式

NSThread通常來說, 有以下3種創(chuàng)建子線程的方式:

1.通過[[NSThread alloc] init]可以實例化一個線程對象(也就是直接可以通過此方式創(chuàng)建并獲取一個子線程對象):

通過初始化創(chuàng)建子線程對象,將要在子線程中執(zhí)行的任務(wù)放在block中傳入:

NSThread *thread = [[NSThread alloc] initWithBlock:^{
      for (int i = 0 ; i < 10000; i++) {
            NSLog(@"%d---%@",i,[NSThread currentThread]);
      }
}];
[thread start]; //調(diào)用start方法才能執(zhí)行線程的任務(wù)

//通過傳入sel方法及和對象初始化子線程對象,子線程中執(zhí)行當(dāng)前類的run:方法傳入字符串@"jack".:
NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(run:) object:@"jack"];
[thread start];
thread.name = @"jack_thread";

2.通過NSThread的detachNewThread類方法在子線程中執(zhí)行任務(wù),但是無法獲取或者操作此線程, 如果僅僅是要開辟子線程執(zhí)行相關(guān)任務(wù),并無需設(shè)置子線程相關(guān)屬性或者名稱可以使用此方法:
[NSThread detachNewThreadWithBlock:^{
        NSLog(@"%@",[NSThread currentThread]);
 }];
[NSThread detachNewThreadSelector:@selector(run:) toTarget:self withObject:@"jack"];    //子線程中執(zhí)行當(dāng)前類的run:方法傳入字符串@"jack".

3.系統(tǒng)有一個基于NSObject的分類: NSThreadPerformAdditions, 在此分類中有個對NSObject類的擴展實例方法:
- (void)performSelectorInBackground:(SEL)aSelector withObject:(nullable id)arg API_AVAILABLE(macos(10.5), ios(2.0), watchos(2.0), tvos(9.0));

我們可以在需要創(chuàng)建子線程的地方, 例如控制器調(diào)用:

//在子線程中執(zhí)行當(dāng)前類的run:方法傳入?yún)?shù)@"jack"
[self performSelectorInBackground:@selector(run:) withObject:@"jack"];

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末暴备,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子载绿,更是在濱河造成了極大的恐慌代兵,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件匈庭,死亡現(xiàn)場離奇詭異褐桌,居然都是意外死亡亩歹,警方通過查閱死者的電腦和手機书幕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門新荤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人台汇,你說我怎么就攤上這事苛骨。” “怎么了励七?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵智袭,是天一觀的道長奔缠。 經(jīng)常有香客問我掠抬,道長,這世上最難降的妖魔是什么校哎? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任两波,我火速辦了婚禮瞳步,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘腰奋。我一直安慰自己单起,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布劣坊。 她就那樣靜靜地躺著嘀倒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪局冰。 梳的紋絲不亂的頭發(fā)上测蘑,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天,我揣著相機與錄音康二,去河邊找鬼碳胳。 笑死,一個胖子當(dāng)著我的面吹牛沫勿,可吹牛的內(nèi)容都是我干的挨约。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼产雹,長吁一口氣:“原來是場噩夢啊……” “哼诫惭!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蔓挖,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤贝攒,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后时甚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體隘弊,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年荒适,在試婚紗的時候發(fā)現(xiàn)自己被綠了梨熙。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡刀诬,死狀恐怖咽扇,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情陕壹,我是刑警寧澤质欲,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站糠馆,受9級特大地震影響嘶伟,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜又碌,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一九昧、第九天 我趴在偏房一處隱蔽的房頂上張望绊袋。 院中可真熱鬧,春花似錦铸鹰、人聲如沸癌别。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽展姐。三九已至,卻和暖如春剖毯,著一層夾襖步出監(jiān)牢的瞬間诞仓,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工速兔, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留墅拭,地道東北人。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓涣狗,卻偏偏與公主長得像谍婉,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子镀钓,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,100評論 1 32
  • 一穗熬、多線程基礎(chǔ) 基本概念 進程進程是指在系統(tǒng)中正在運行的一個應(yīng)用程序每個進程之間是獨立的,每個進程均運行在其專用且...
    AlanGe閱讀 546評論 0 0
  • NSThread 第一種:通過NSThread的對象方法 NSThread *thread = [[NSThrea...
    攻城獅GG閱讀 799評論 0 3
  • 1.設(shè)計模式是什么? 你知道哪些設(shè)計模式窟赏,并簡要敘述妓柜?設(shè)計模式是一種編碼經(jīng)驗,就是用比較成熟的邏輯去處理某一種類型...
    龍飝閱讀 2,151評論 0 12
  • →_→ 從前有個人涯穷,他家門口有座大山棍掐,每次他要出遠門都要繞過那座大山,然后有天他下定決心要挖開這座大山拷况,村里的智叟...
    劉小勝閱讀 596評論 0 9