iOS開發多執行緒篇 執行緒的狀態

2021-07-02 02:00:29 字數 2277 閱讀 3010

一、簡單介紹

執行緒的建立:

self.thread=[[nsthread alloc]initwithtarget:self selector:@selector(test) object:nil];

說明:建立執行緒有多種方式,這裡不做過多的介紹。

執行緒的開啟:

執行緒的執行和阻塞:

(1)設定執行緒阻塞1,阻塞2秒

[nsthread sleepfortimeinterval:2.0];

(2)第二種設定執行緒阻塞2,以當前時間為基準阻塞4秒

執行緒處理阻塞狀態時在記憶體中的表現情況:(執行緒被移出可排程執行緒池,此時不可排程)

執行緒的死亡:

當執行緒的任務結束,發生異常,或者是強制退出這三種情況會導致執行緒的死亡。

執行緒死亡後,執行緒物件從記憶體中移除。

二、**示例

**示例1:

//

yyviewcontroller.m

#import

"yyviewcontroller.h

"@inte***ce

yyviewcontroller ()

@property(nonatomic,strong)nsthread *thread;

@end

@implementation

yyviewcontroller

- (void

)viewdidload

//當手指按下的時候,開啟執行緒

-(void)touchesbegan:(nsset *)touches withevent:(uievent *)event

-(void

)test

nslog(@"

test---執行緒結束---%@

",current.name);

}@end

列印檢視:

**示例2(退出執行緒):

//

//04-nsthread02-執行緒的狀態

////

////

#import

"yyviewcontroller.h

"@inte***ce

yyviewcontroller ()

@property(nonatomic,strong)nsthread *thread;

@end

@implementation

yyviewcontroller

- (void

)viewdidload

//當手指按下的時候,開啟執行緒

-(void)touchesbegan:(nsset *)touches withevent:(uievent *)event

-(void

)test

} nslog(@"

test---執行緒結束---%@

",current.name);

}@end

列印示例:

iOS開發多執行緒篇 執行緒的狀態

一 簡單介紹 執行緒的建立 self.thread nsthread alloc initwithtarget self selector selector test object nil 說明 建立執行緒有多種方式,這裡不做過多的介紹。執行緒的開啟 執行緒的執行和阻塞 1 設定執行緒阻塞1,阻塞2...

iOS開發 多執行緒篇 多執行緒介紹

一 程序和執行緒 1 什麼是程序 程序是指在系統中正在執行的乙個應用程式 每個程序之間是獨立的,每個程序均執行在其專用且受保護的記憶體空間內 比如同時開啟迅雷 xcode,系統就會分別啟動2個程序 通過 活動監視器 可以檢視mac系統中所開啟的程序 3 執行緒的序列 1個執行緒中任務的執行是序列的 ...

iOS開發多執行緒篇 執行緒安全

一 多執行緒的安全隱患 資源共享 1塊資源可能會被多個執行緒共享,也就是多個執行緒可能會訪問同一塊資源 比如多個執行緒訪問同乙個物件 同乙個變數 同乙個檔案 當多個執行緒訪問同一塊資源時,很容易引發資料錯亂和資料安全問題 示例一 示例二 問題 1 2 05 執行緒安全4 5 6 7 89 10 im...