美文网首页
iOS多线程(一)-- pthread

iOS多线程(一)-- pthread

作者: eightzg | 来源:发表于2016-05-14 21:24 被阅读77次

    pthread是C语言的多线程解决方案,线程的生命周期需要程序员管理,在开发中几乎不用,读者可以作为了解。

    • 新建一个新的xcode工程,在ViewController里面导入头文件
    #import <pthread.h>
    
    • 点击控制器的view就做开启一个线程,做一些耗时操作。
    • 1是声明一个线程对象
    • 2是开启线程,并且执行run方法,第一个参数要求传入线程对象的地址,所以加上&符号。第二个和第四个参数是对线程的参数配置,传入空值NULL即可。
    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
    {
        // 创建线程
        pthread_t thread;  //1
        pthread_create(&thread, NULL, run, NULL);  //2
    }
    
    • 调用的耗时操作run方法实现如下:
    void *run(void *data)
    {
        for (int i = 0; i<10000; i++) {
            NSLog(@"touchesBegan----%d-----%@", i, [NSThread currentThread]);
        }
        return NULL;
    }
    
    • 在iOS多线程(零)中提到过,打印是耗时操作,会卡主主线程,但是通过开启子线程就不会卡主UI界面,同时可以在打印结果看到当前线程不是主线程。
    Paste_Image.png

    尽管pthread不是主流的多线程实现方案,但是作为优秀的程序员还是有必要了解一下的~在接下来的几篇教程中会继续讲解另外三种多线程的实现方案。

    相关文章

      网友评论

          本文标题:iOS多线程(一)-- pthread

          本文链接:https://www.haomeiwen.com/subject/ozfvrttx.html