zoukankan      html  css  js  c++  java
  • 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 }

    六、总结

  • 相关阅读:
    树形地铁系统[树的最小表示]
    156. 矩阵[二维的hash]
    兔子与兔子
    滑动窗口【单调队列入门题】
    【YBTOJ】生日相同
    【YBTOJ】移位包含
    【YBTOJ】【HDUOJ 3085】逃离噩梦
    【YBTOJ】立体推箱子
    【CodeForces 1408F】Two Different
    【Luogu P3338】[ZJOI2014]力
  • 原文地址:https://www.cnblogs.com/naray/p/4699538.html
Copyright © 2011-2022 走看看