多线程的实现
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); } } |
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。