多线程的四种技术说明

多线程的四种技术说明

标签(空格分隔): 多线程


Pthread(C)

// 第一个参数: 线程的代号(当做就是线程)
// 第二个参数: 线程的属性
// 第三个参数: 指向函数的指针, 就是将来线程需要执行的方法
// 第四个参数: 给第三个参数的指向函数的指针 传递的参数
pthread_t threadId;
// 只要create一次就会创建一个新的线程
pthread_create(&threadId , NULL, &demo, "lnj");

NSThread(OC)

  • 注意:如果正在执行系统分离出来的线程(子线程)时, 系统内部会retain当前线程,只有线程中的方法执行完毕, 系统才会将其释放(release)。

  • 创建方式一(可拿到子线程对象设置一些属性,需要手动开启子线程)

    // 创建子线程方式1
    NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(run) object:nil];
    
    // 设置线程的其他属性
    thread.name = @"second";
    
    // 开启子线程
    [thread start];
  • 创建方式二(不能拿到子线程对象,不需要手动开启子线程,快速

    // 第二种创建子线程的方式
    [NSThread detachNewThreadSelector:@selector(run) toTarget:self withObject:nil];
  • 创建方式三(系统自动创建子线程并在self的@selector方法中执行,快速

    // 第三种创建方式
    [self performSelectorInBackground:@selector(run) withObject:nil];

GCD(C)

NSOperation(OC)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值