ios - 多线程之二:pThread

在很多操作系统上都会用到的API,可移植性特别强。基于C语言框架,在开发过程中极少用到。在很多面试中对该线程使用都很少提及。

那么好,我们言归正传,以代码的形式给大家讲解用法和注意事项。

——————

思路:

在界面上安排一个按钮,当点击按钮时,执行 pThread 多线程;

代码演示:

1:创建项目;

2:在ViewController里面添加按钮,代码如下:

    //第一种方式 pThread
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = CGRectMake(40, 100, 100, 40);
[btn setTitle:@"pThread" forState:UIControlStateNormal];
[btn setBackgroundColor:[UIColor blueColor]];
[btn addTarget:self action:@selector(click_pThread) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn];

3:实现 click_pThread 事件

- (void)click_pThread {
  //    [self isMainThread];
  NSLog(@"我在主线程中执行");
  pthread_t queue;
  //    pthread_create : 创建任务的方法,
/*
    第一个参数:pthread指针
    第二个参数:可为空;
    第三个参数:要在子线程中执行的代码
    第四个参数:可为空;
 */
pthread_create(&queue, NULL, run_pThread, NULL);
}

4:定义 run_pThread 方法

// C 语言 函数定义方式
void *run_pThread(void *data) {
      NSLog(@"我在子线程中执行");
       //一个模拟任务的执行
      for (int i = 0; i < 10 ; i ++) {
              sleep(1);
              NSLog(@"%d",i);
      }
      return NULL;
}

5:运行,观察控制台

日志打印
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、多线程概述 1、进程,线程 进程:进程是指在系统中正在运行的一个应用程序,每个进程之间是独立的,每个进程均运行...
    一叶清帆阅读 1,886评论 0 1
  • 本文首发于我的个人博客:「程序员充电站」[https://itcharge.cn]文章链接:「传送门」[https...
    ITCharge阅读 61,447评论 50 541
  • 本文将从以下几个部分来介绍多线程。 第一部分介绍多线程的基本原理。 第二部分介绍Run loop。 第三部分介绍多...
    曲年阅读 5,039评论 2 14
  • 你,别动,对。让我来好好看看你。 我好长时间没见到你了,工作很忙吧?家里面都还好吗?孩子可还听话? 听话,听话,一...
    山阴秀才阅读 2,767评论 0 0
  • 我的心漂泊了好久 真想唱着归去的歌 寻找一片栖息之地 在那片青葱的草地 曾有过纯真与美丽 而往昔是可望而不可及 残...
    苏伦_阅读 3,427评论 2 16

友情链接更多精彩内容