ptread
#pragma mark---p
-(void)test
{
/*
void * 相当于OC里面的id
*/
//使用pthread线程创建线程
//声明一个线程的变量
pthread_t threaId;
/*
1.要开辟的线程变量(的到线程的地址)
2.线程的属性(传的线程的地址就可以改变这个地址里面的属性)
3.函数指针(在这个子线程执行的任务)
4.这个函数(任务)需要传递的参数
*/
// pthread_create(<#pthread_t *restrict#>, <#const pthread_attr_t *restrict#>, <#void *(*)(void *)#>, <#void *restrict#>)
pthread_create(&threaId, NULL, run, NULL);
id str=@"ABC";
//id 需要转void * 在ARC里,需要使用——bridge进行桥联
//1.这里只是临时把str对象线程void *在这里临时使用,不盖被这个对象(str)的所有权
//2.ARC把所有权交出去,字这个函数把str转为void *
//如果使用MRC,这里不需要侨联,可以直接设置这个参数str
//ARC自动内存管理,本质是编译器的特征,是在程序编译的时候,编译器帮我们添加retain,release,autorelease
pthread_create(&threaId, NULL, run, (__bridge void *)(str));
}
/*
IOS 开发,一般使用C语言的框架,.h文件没有注释
去百度百科上查
*/
//函数
void *run(void *param)
{
//放线程任务
return NULL;
}