多线程的实现

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-wow.com

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