iOS----------多线程

多线程主要分为三种:NSThread、NSoperationQueue、GCD

NSThread 相比其他两个比较轻量级,创建线程简单,但是需要我们自己管理该线程,操作线程比较麻烦。不只是启动,还有该线程使 用完毕后的资源回收;

  • 第一种:先创建线程,再启动线程
  •      NSThread * thread = [[NSThread alloc]initWithTarget:self selector:@selector(run) object:nil];

  •     thread.name = @"子线程";//可以为开辟的线程起名字

  •  

     

  •  

        [thread start];//线程开始

  •     [thread cancel];//线程取消

     

  • 第二种:
  •  NSThread * thread = [[NSThread alloc]initWithBlock:^{
    •         NSLog(@"initWithBlock");

              [self run];

          }]; 

    • [thread start];

  • 第三种:创建线程后自动启动线程

  • [NSThread detachNewThreadSelector:@selector(run) toTarget:self withObject:nil];

     

你可能感兴趣的:(iOS----------多线程)