NSThread创建线程的三种方法
生活随笔
收集整理的這篇文章主要介紹了
NSThread创建线程的三种方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 - (IBAction)NSThreadBtnClick:(id)sender {
2
3 [self threadObjectMethod];
4 [self threadClassMethod];
5 [self threadNSObjectMethod];
6
7
8 }
9
10 #pragma mark - 繼承自NSObject的類的對象 都可以調用這個方法 只不過拿不到線程對象
11 - (void)threadNSObjectMethod{
12 //自動開啟線程并且執行方法
13 //下邊的這個方法在NSObject (NSThreadPerformAdditions)里邊即NSObject的分類
14 [self performSelectorInBackground:@selector(NSThreadDemo:) withObject:@"NSObjectCategory"];
15 }
16
17 #pragma mark - 通過類方法創建 分離出來一個線程 不需要手動開啟線程 自動開啟線程并且執行方法
18 - (void)threadClassMethod{
19 [NSThread detachNewThreadSelector:@selector(NSThreadDemo:) toTarget:self withObject:@"classMethodThread"];
20 }
21
22
23 #pragma Mark- 通過對象方法來創建線程 并且需要手動啟動線程
24 - (void)threadObjectMethod{
25 NSThread *thread = [[NSThread alloc]initWithTarget:self selector:@selector(NSThreadDemo:) object:@"objectMethodThread"];
26 //手動啟動線程
27 [thread start];
28
29
30
31 }
32
33
34 - (void)NSThreadDemo:(id)obj{
35 NSLog(@"傳入參數%@",obj);
36 NSLog(@"hello %@",[NSThread currentThread]);
37
38
39 }
?補充部分多線程相關的讀書筆記:
參考書籍:
Objective-C高級編程iOS與OSX多線程和內存管理
?
先寫到這么多,以后再更新
如有問題,敬請指正;
如需轉載,請注明出處,謝謝!
?
轉載于:https://www.cnblogs.com/ITCoderW/p/6184745.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的NSThread创建线程的三种方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 错误:Value '0000-00-00
- 下一篇: blade企业级开发平台