IOS 多线程管理机制

一、多线程管理机制

二、NSThread

三、NSOperation

四、GCD : 全称 Grand Central Dispatch ,一套底层 API,提供并发程序编写. 基本概念就是 Dispatch queue (调度队列),并且提供了三种队列:

  • The main queue : 与mian线程功能一样,main queue 队列的任务在主线程中执行,main queue 通过 dispatch_get_main_queue 获取,由于与主线相关,所以是串行队列。
  • 全局队列 global queue : 并行队列
  • 用户队列 

 

五、多线程同步

  • @synchronized: 同步锁(互斥锁/令牌锁),做同步操作。选择一个对象作为共享对象(即同步对象,一般使用self),然后,将“加锁代码”放入代码块中,当@synchronized的代码块执行时,首先检查,共享对象是否被另一个线程占用,如果,被占用,此线程则开始等待,直到其它线程释放占用的对象。@synchronized一般都用于单例或者静态对象。@synchronized要比NSLock使用容易。
     1 - (void)testDemo
     2 {
     3     NSString *name;
     4     NSString *firstName;
     5     @synchronized(self)
     6     {
     7         name = "test";
     8     } 
     9     firstName = name;    
    10 }

     

六、总结

posted @ 2015-08-03 15:45  naray  阅读(323)  评论(0编辑  收藏  举报