iOS多线程实现1-pthread

  一套通用的多线程API,采用C语言编写,跨平台\可移植,适用于Unix\Linux\Windows等系统,但是使用起来难度比较大,生命周期也是由程序员来管理。在iOS编程中很少使用这种方法。

#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;
}

 

你可能感兴趣的:(iOS多线程实现1-pthread)