iOS进阶之多线程--pthread简单使用

简介

pthread是一套通用的多线程API,C语言,适用于Unix\Linux\Windows系统,跨平台\可移植,使用难度大。百度百科介绍很详细,就不在这里多啰嗦,直接上代码!


pthread创建使用函数 pthread_create():

NSString *str = @"hello JG";
pthread_t threadID;    
int result = pthread_create(&threadID, NULL, &demo, (__bridge void *)(str));
if (result) {
    NSLog(@"OK");
}else{
    NSLog(@"error %d",result);
}

/**
 pthread是属于POSIX 多线程开发框架
 参数:
 1.指向一个线程代号的指针
 2.线程的属性
 3.指向函数的指针
 4.传递该函数的参数
 返回值:
 如果是0,表示正确
 如果是非0,表示正确
*/

参数3:这里传入一个函数的指针,首先创建函数 dem(),这里首先介绍一下C语言中的函数实现:

/**
void *  (* )          (void * )
 返回值    (函数指针)      参数
 viod * 和OC中的id 是等价的!
 */
void *demo(void *param){
NSLog(@"%@  %@",[NSThread currentThread],param);
return NULL;
}

参数4:上面代码中对参数传递用到了__brige

   //__bridge 桥接
/**
 - 在ARC开发中,如果涉及到和C语言中的相同的数据类型进行转换,就需要用到__bridge “桥接”
 - 在MRC就不需要
 */

pthread的实际使用相当复杂且功能强大,本人菜鸟一枚,对C语言也是不甚了解,期待大牛的评论指导

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转自:Youtherhttps://www.cnblogs.com/youtherhome/archive/201...
    njukay阅读 1,633评论 0 52
  • iOS多线程实践中,常用的就是子线程执行耗时操作,然后回到主线程刷新UI。在iOS中每个进程启动后都会建立一个主线...
    jackyshan阅读 1,484评论 2 12
  • 「仍是喜欢冬天,踩在雪里嘎吱嘎吱的,像极你回来」 涟漪回荡,一圈圈,一层层,拉紧繁华,压住落幕,走向美好,携着愁殇...
    喵记几阅读 294评论 0 0
  • 有一天我们在走过的路往回看,看见那时的我们丢盔弃甲,看见那时的我们被风吹傻,看见那时的我们面对面笑着在花开最烂漫的...
    Asirnmo阅读 171评论 2 1
  • 知道你离开的消息是周三的晚上,那时,我正在哄丁语涵跟晓晓玩,那一刻,我感觉自己耳边嘈杂的声音突然都停止了,我以为我...
    敬文加油阅读 231评论 0 0