您的位置:首页 > 移动开发 > IOS开发

iOS 06-多线程NSThread的使用

2017-09-14 15:33 225 查看
1、创建一个按钮

- (IBAction)buttonClicked:(id)sender {
   NSLog(@"main =%@",[NSThread
mainThread]);
//    [self createThread1];
    [self
createThread2];
//    [self createThread3];
  
}

-(void)createThread3 {
    //开启后台线程
    [self
performSelectorInBackground:@selector(run:)
withObject:@"back"];
    
}

-(void)createThread2{
    [NSThread
detachNewThreadSelector:@selector(run:)
toTarget:self
withObject:@"miss"];
}

-(void)createThread1{
    
    //创建一个线程
    NSThread *thread = [[NSThread
alloc]initWithTarget:self
selector:@selector(run:)
object:@"abc"];
    thread.name =
@"myThread";
    //启动线程
    [thread start];
}

-(void)run:(id)obj {
    NSLog(@"----run----%@--%@",[NSThread
currentThread], obj);
    //线程休眠
    //第一种方法
    [NSThread
sleepForTimeInterval:3];
    //第二种方法
//    [NSThread sleepUntilDate:[NSDate dateWithTimeIntervalSinceNow:3]];
    //或者不再执行 distantFuture(遥远的未来)
//    [NSThread sleepUntilDate:[NSDate distantFuture]];
    
    //强制退出线程
    for (int i =
0; i <1000000; i++) {
        NSLog(@"--%d--",i);
        if(i ==
100) {
            //线程退出
            [NSThread
exit];
        }
    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息