iOS多线程之pthread的简单使用
2018-08-06 本文已影响0人
Mr_fei
前言
pthread是c语言编写的,基本用不到,了解一下就好.
线程创建代码
第一步:先导入#import <pthread.h>
第二步:创建线程
//参数一:线程地址
//参数二:线程属性
//参数三:指向函数的指针
//参数四:函数参数
pthread_t pthread;
pthread_create(&pthread, NULL, test, NULL);
void * (test)(void *param) {
NSLog(@"%@",[NSThread currentThread]);
return NULL;
}
传参:
C语言传参
传个字符串
pthread_t pthread;
char *ch = "test";
pthread_create(&pthread, NULL, test, ch);
void * (test)(void *param) {
NSLog(@"%s %@",param,[NSThread currentThread]);
return NULL;
}
oc传参
使用__bridge进行桥接
pthread_t pthread;
NSString *string = @"test";
pthread_create(&pthread, NULL, test, (__bridge void *)(string));
void * (test)(void *param) {
NSString *string = (__bridge NSString *)(param);
NSLog(@"%@ %@",string,[NSThread currentThread]);
return NULL;
}