一、簡單介紹
線程的建立:
self.thread=[[nsthread alloc]initwithtarget:self selector:@selector(test) object:nil];
說明:建立線程有多種方式,這裡不做過多的介紹。

線程的開啟:
[self.thread start];
線程的運作和阻塞:
(1)設定線程阻塞1,阻塞2秒
[nsthread sleepfortimeinterval:2.0];
(2)第二種設定線程阻塞2,以目前時間為基準阻塞4秒
nsdate *date=[nsdate datewithtimeintervalsincenow:4.0];
[nsthread sleepuntildate:date];
線程處理阻塞狀态時在記憶體中的表現情況:(線程被移出可排程線程池,此時不可排程)
線程的死亡:
當線程的任務結束,發生異常,或者是強制退出這三種情況會導緻線程的死亡。
線程死亡後,線程對象從記憶體中移除。
二、代碼示例
代碼示例1:
列印檢視:
代碼示例2(退出線程):
列印示例:
注意:人死不能複生,線程死了也不能複生(重新開啟),如果線上程死亡之後,再次點選螢幕嘗試重新開啟線程,則程式會挂。