#import "HJViewController.h"
#import <pthread.h>
@interface HJViewController ()
@end
@implementation HJViewController
- (void)viewDidLoad {
[super viewDidLoad];
}
- (void)pthreadDemo{
/*
1.指向线程代号的指针
2.线程的属性
3.指向函数的指针
4.传递给该函数的参数
返回值
- 如果是0 表示正确
- 如果非0 就是错误
void * (* ) (void * )
返回值 函数指针 参数
void * 与id类型等价
*/
pthread_t thread_t ;
NSString *name = @"dddd";
/*
(__bridge void *) C与OC之间的桥接
在ARC开发中,如果涉及与C语言中相同的数据类型进行转换,需要使用桥接————bridge
*/
int result = pthread_create(&thread_t, NULL, &demo, (__bridge void *)(name));
if (result == 0) {
NSLog(@"OK");
}else {
NSLog(@"NO");
}
}
void * demo(void *param) {
NSLog(@"%@%@",[NSThread currentThread],param);
return NULL;
}
- (void)touchesBegan:(NSSet<UITouch *> *)touches
withEvent:(UIEvent *)event{
//<NSThread: 0x608000069800>{number = 1, name = main}
/*
number==1是主线程 number!= 1就是子线程
*/
NSLog(@"____-%@",[NSThread currentThread]);
[self pthreadDemo];
}
@end