iOS上的pthread的講解內容

weixin_34037977發表於2017-05-12

1、這個是一個跨平臺的,不管是linux還是mac上都是沒有問題的,所以我們可以通過相應的內容來進行實現。
2、#import<pthread.h>在iOS開發中如果使用的話可以通過這個來進行引入,不過很少使用

__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0)
//這個方法就是pthread的建立執行緒的方法
int pthread_create(pthread_t * __restrict, const pthread_attr_t * __restrict,void *(*)(void *), void * __restrict);  最為原始的建立執行緒的方法
1205674-d4294236c009e963.png
通過pthread建立執行緒的使用的.m 檔案

通過pthread建立子執行緒來進行執行,run函式直接放在子執行緒中執行。


1205674-50ce0e9ddb4e1c4f.png
將run方法放在.m 檔案
#import "ViewController.h"
@interface ViewController()
@end
@implementation 
ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
}

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent 
*)event{
   
 NSThread *thread = [[NSThread alloc]initWithTarget:self selector:@selector(run:) object:@"jack"
];
    [thread
 start
];
}

- (void)run:(NSString* )param {
    NSLog(@"___name is————————%@ Param : %@",param,[NSThread currentThread]);
}

上面的程式碼是通過nsthread的方式進行建立執行緒來進行實現的;
只要管理它建立和啟動,exit() 方法是退出程式,[nsthread exit] 這個是退出當前的執行緒。

相關文章