iOS 编码复习(五)(多线程3)—— pthread的简单使用

上篇文章我们讲到了什么是线程、进程。那么从这篇开始,我们就开始来看看iOS实现多线程的几种方法:
本文讲述第一种:pthread:
pthread是一套采用C语言编写的跨平台/可移植的多线程API。
简单使用下:

#import <pthread.h>
/// 点击屏幕创建一个线程
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    pthread_t thread; //创建线程
    NSString *str = @"helloWorld"; //创建参数
    // 参数1  线程编号的地址
    // 参数2  线程的属性
    // 参数3  线程要执行的函数(函数指针)(第三个参数可以,demo,*demo, 一般用&demo)
    // 参数4  线程要执行的函数的参数
    int result = pthread_create(&thread, NULL, &demo, (__bridge void *)(str));
    // __bridge  oc类型到c语言类型的一个转换
    // void *p = (__bridge void *)(str);
    NSLog(@"over %d",result);
}


/// 线程要执行的函数  传参数
void *(demo)(void *param){
    NSString *str = (__bridge NSString *)(param);
    NSLog(@"%@",str);
    return NULL;
}

__bridge用于OC对象和CF对象的互转,并且不转换所有权




你可能感兴趣的:(多线程,ios)