首页 > 代码库 > 多线程的实现
多线程的实现
NSThread
方法一:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 | - ( void )viewDidLoad { [ super viewDidLoad]; NSThread * thread = [[ NSThread alloc]initWithTarget: self selector: @selector (test:) object:@ "fuck" ]; [ thread start]; } - ( void )test:( NSString *)string { for ( int i = 0; i < 100; i ++) { NSLog (@ "%@,%d" ,string,i); } } |
方法二:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | - ( void )viewDidLoad { [ super viewDidLoad]; //这种比较快速,不用调用start方法。 [ NSThread detachNewThreadSelector: @selector (test:) toTarget: self withObject:@ "you" ]; } - ( void )test:( NSString *)string { for ( int i = 0; i < 100; i ++) { NSLog (@ "%@,%d" ,string,i); } } |
方法三:使用较多
?
1 2 3 4 5 6 7 8 9 10 11 12 13 | - ( void )viewDidLoad { [ super viewDidLoad]; //这个方法是从NSObject继承下来的,所有对象都可以通过这个方法快速创建一个线程去执行test中的方法。 [ self performSelectorInBackground: @selector (test:) withObject:@ "哈哈" ]; } - ( void )test:( NSString *)string { for ( int i = 0; i < 100; i ++) { NSLog (@ "%@,%d" ,string,i); } } |
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。