iOS pthread
pthread 是属于 POSIX 多线程开发框架
创建线程的方法:pthread_create
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #007400; background-color: #ffffff }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #007400; background-color: #ffffff; min-height: 16.0px }
参数含义:
1.指向线程代号的指针
2.线程的属性
3.指向函数的指针
4.传递给该函数的参数
返回值
– 如果是0,标示正确
– 如果非0,标示错误代码
void * (*) (void *)
返回值 (函数指针) (参数)
void * 和OC中的 id 是等价的!
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000; background-color: #ffffff }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000; background-color: #ffffff; min-height: 16.0px }
span.s1 { color: #aa0d91 }
span.s2 { color: #2e0d6e }
span.s3 { color: #26474b }
span.s4 { color: #1c00cf }
span.s5 { color: #c41a16 }
int result = pthread_create(&threadId, NULL, &demo, (__bridge void *)(str));
if (result == 0) {
NSLog(@”OK”);
}else{
NSLog(@”error %d”,result);
}
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000; background-color: #ffffff }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #2e0d6e; background-color: #ffffff }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000; background-color: #ffffff; min-height: 16.0px }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #aa0d91; background-color: #ffffff }
span.s1 { color: #aa0d91 }
span.s2 { color: #000000 }
span.s3 { color: #c41a16 }
span.s4 { color: #5c2699 }
响应方法:
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000; background-color: #ffffff }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #2e0d6e; background-color: #ffffff }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000; background-color: #ffffff; min-height: 16.0px }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #aa0d91; background-color: #ffffff }
span.s1 { color: #aa0d91 }
span.s2 { color: #000000 }
span.s3 { color: #c41a16 }
span.s4 { color: #5c2699 }
void * demo(void * param){
NSLog(@”%@ %@”,[NSThread currentThread],param);
return NULL;
}
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #2e0d6e; background-color: #ffffff }