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;
}
上一篇下一篇

猜你喜欢

热点阅读