dispatch_barrier_async 多讀單寫

#import "UserCenter.h"

@interface UserCenter()
{
    // 定義一個并發(fā)隊列
    dispatch_queue_t concurrent_queue;
    
    // 用戶數(shù)據(jù)中心, 可能多個線程需要數(shù)據(jù)訪問
    NSMutableDictionary *userCenterDic;
}

@end

// 多讀單寫模型
@implementation UserCenter

- (id)init
{
    self = [super init];
    if (self) {
        // 通過宏定義 DISPATCH_QUEUE_CONCURRENT 創(chuàng)建一個并發(fā)隊列
        concurrent_queue = dispatch_queue_create("read_write_queue", DISPATCH_QUEUE_CONCURRENT);
        // 創(chuàng)建數(shù)據(jù)容器
        userCenterDic = [NSMutableDictionary dictionary];
    }
    
    return self;
}

- (id)objectForKey:(NSString *)key
{
    __block id obj;
    // 同步讀取指定數(shù)據(jù)
    dispatch_sync(concurrent_queue, ^{
        obj = [userCenterDic objectForKey:key];
    });
    
    return obj;
}

- (void)setObject:(id)obj forKey:(NSString *)key
{
    // 異步柵欄調(diào)用設(shè)置數(shù)據(jù)
    dispatch_barrier_async(concurrent_queue, ^{
        [userCenterDic setObject:obj forKey:key];
    });
}

@end

dispatch_barrier_async:

  • Submits a barrier block for asynchronous execution and returns immediately.

dispatch_sync

  • Submits a block object for execution and returns after that block finishes executing.
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末汽馋,一起剝皮案震驚了整個濱河市侮东,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌豹芯,老刑警劉巖悄雅,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異铁蹈,居然都是意外死亡宽闲,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門木缝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來便锨,“玉大人,你說我怎么就攤上這事我碟。” “怎么了姚建?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵矫俺,是天一觀的道長。 經(jīng)常有香客問我,道長厘托,這世上最難降的妖魔是什么友雳? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮铅匹,結(jié)果婚禮上押赊,老公的妹妹穿的比我還像新娘。我一直安慰自己包斑,他們只是感情好流礁,可當(dāng)我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著罗丰,像睡著了一般神帅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上萌抵,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天找御,我揣著相機與錄音,去河邊找鬼绍填。 笑死霎桅,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的讨永。 我是一名探鬼主播哆档,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼住闯!你這毒婦竟也來了瓜浸?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤比原,失蹤者是張志新(化名)和其女友劉穎插佛,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體量窘,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡雇寇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了蚌铜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锨侯。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖冬殃,靈堂內(nèi)的尸體忽然破棺而出囚痴,到底是詐尸還是另有隱情,我是刑警寧澤审葬,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布深滚,位于F島的核電站奕谭,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏痴荐。R本人自食惡果不足惜血柳,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望生兆。 院中可真熱鬧难捌,春花似錦、人聲如沸鸦难。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽明刷。三九已至婴栽,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間辈末,已是汗流浹背愚争。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留挤聘,地道東北人轰枝。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像组去,于是被迫代替她去往敵國和親鞍陨。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,901評論 2 355