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企业级开发平台