zoukankan      html  css  js  c++  java
  • 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多线程和内存管理

    先写到这么多,以后再更新

    如有问题,敬请指正;

    如需转载,请注明出处,谢谢!

    我会不定期分享 iOS 相关技术文章
  • 相关阅读:
    js 提示框的实现---组件开发之(一)
    js 原型链
    js 哈希路由原理实现
    js 弹窗的实现
    js 滑动门的实现
    Delphi IDFtp用法,包含断点续传
    memortstream Base64编码和filestream base64编码不同
    Delphi另一个多线程函数:BeginThread用法
    delphi 讲的比较详细的多线程(推荐)
    多线程简单实用
  • 原文地址:https://www.cnblogs.com/ITCoderW/p/6184745.html
Copyright © 2011-2022 走看看