zoukankan      html  css  js  c++  java
  • iOS多线程中的单例

     1 #import "MyHandle.h"
     2 
     3 static MyHandle *handle = nil;
     4 @implementation MyHandle
     5 // 传统写法
     6 // 此时如果多个任务并发执行,他就不会满足单例的优点
     7 //+ (MyHandle *)shareMyHandle {
     8 //    if (nil == handle) {
     9 //        handle = [[MyHandle alloc] init];
    10 //    }
    11 //    return handle;
    12 //}
    13 
    14 // 多线程中的写法
    15 + (MyHandle *)shareMyHandle {
    16     // 在GCD 中保证只执行一次, 用于记录内容是否执行过
    17     static dispatch_once_t onceToken;
    18     dispatch_once(&onceToken, ^{
    19         handle = [[MyHandle alloc] init];
    20     });
    21     return handle;
    22 }
    23 
    24 @end
  • 相关阅读:
    SpringMVC
    SpringMVC
    SpringMVC
    Spring
    Spring
    值类型和引用类型
    判断字符串的开头和结尾
    二分法(课后)
    验证码
    从1-36中随机出6个不相等的数
  • 原文地址:https://www.cnblogs.com/crazygeek/p/5537613.html
Copyright © 2011-2022 走看看