多线程学习04-NSThread创建

学习多线程04(之前跟着小码哥视频学习了多线程,准备把学到的东西放到网上,便于参考。仅有视频,所以所有文字都是自己打的,同时也温习一下多线程)

NSThread掌握

线程中的任务完成后,线程就会“死掉”释放掉。

三种创建线程的方式:

/** 按钮点击事件 */
- (IBAction)btnClick:(UIButton *)sender {
    
    [self creatNSThread2];
}
/** 创建线程的方式1 */
-(void)creatNSThread1
{
    //创建线程
    NSThread *thread1 = [[NSThread alloc]initWithTarget:self selector:@selector(run:) object:@"jack"];
    thread1.name = @"limin_ios1";
    //启动线程
    [thread1 start];
}
/** 创建线程的方式2 */
-(void)creatNSThread2
{
    //开启新的线程,线程已启动就会掉用方法。但是拿不到创建的线程。
    [NSThread detachNewThreadSelector:@selector(run:) toTarget:self withObject:@"limin_ios2"];
    
}
/** 创建线程的方式3 */
-(void)creatNSThread3
{
    //开一个后台线程,无法给线程附名字
    [self performSelectorInBackground:@selector(run:) withObject:@"limin_ios3"];
    
}
-(void)run:(NSString *)param
{
    NSLog(@"参数:%@,线程:%@,是否是主线程:%i",param,[NSThread currentThread],[NSThread isMainThread]);
    //是否阻塞线程,回到主线程,线程之间的通讯。waitUntilDone:YES
    //    [self performSelectorOnMainThread:@selector(run:) withObject:@"limin_ios4" waitUntilDone:YES];
}


博客原地址:http://blog.csdn.net/leemin_ios/article/details/51188688

<span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; font-weight: bold; background-color: rgb(255, 255, 255);">[NSThread currentThread]当前线程。</span>


你可能感兴趣的:(多线程,ios,ios开发)