1.多线程使用基本方法
NSLog(@"%@", [NSThread mainThread]);
NSLog(@"%@", [NSThread currentThread]);
[NSThread isMainThread]
2.通过pthread创建子线程
// 线程调用函数
void *demo(void *param){
NSLog(@"%@",[NSThread currentThread]);
// 输出结果:<NSThread: 0x7fd4d872dfe0>{number = 2, name = (null)}
// 耗时操作
for (int i = 0; i < 10000; i++) {
NSLog(@"i = %d",i);
}
return NULL;
}
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
/*
第一个参数(pthread_t *restrict):传入线程代号(现场对象)
第二个参数(const pthread_attr_t *restrict):线程属性
第三个参数(void *(*)(void *)):子线程需要执行的操作(调用的方法)
c语言中的 void *(*)(void *) ->返回值 (*指针名称)参数列表
void * 相当于OC中的 id
第四个参数(void *restrict):给第三个函数传递的值
*/
pthread_t threadID;
pthread_create(&threadID, NULL, demo, "zj");
}