多线程_pthread

来源:互联网 发布:cms始源勇者王 编辑:程序博客网 时间:2024/06/07 15:47

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