// 通過(guò)封裝atomic.Value原子值類型蔓涧,可以實(shí)現(xiàn)安全存儲(chǔ)不會(huì)引發(fā)panic
type atomicValue struct {
v atomic.Value
t reflect.Type
}
func NewAtomicValue(example interface{}) (*atomicValue, error) {
if example == nil {
return nil, errors.New("atomic value: nil example")
}
return &atomicValue{
t: reflect.TypeOf(example),
}, nil
}
func (av *atomicValue) Store(v interface{}) error {
if v == nil {
return errors.New("atomic value: nil value")
}
t := reflect.TypeOf(v)
if t != av.t {
return fmt.Errorf("atomic value: wrong type: %s", t)
}
av.v.Store(v)
return nil
}
func (av *atomicValue) Load() interface{} {
return av.v.Load()
}
func (av *atomicValue) TypeOfValue() reflect.Type {
return av.t
}
(轉(zhuǎn))golang并發(fā)atomic.Value安全操作
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門疾呻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)除嘹,“玉大人,你說(shuō)我怎么就攤上這事岸蜗∥竟荆” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵璃岳,是天一觀的道長(zhǎng)年缎。 經(jīng)常有香客問(wèn)我,道長(zhǎng)铃慷,這世上最難降的妖魔是什么单芜? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮犁柜,結(jié)果婚禮上洲鸠,老公的妹妹穿的比我還像新娘。我一直安慰自己馋缅,他們只是感情好扒腕,可當(dāng)我...
- 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著萤悴,像睡著了一般袜匿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上稚疹,一...
- 那天居灯,我揣著相機(jī)與錄音,去河邊找鬼内狗。 笑死怪嫌,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的柳沙。 我是一名探鬼主播岩灭,決...
- 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼赂鲤!你這毒婦竟也來(lái)了噪径?” 一聲冷哼從身側(cè)響起,我...
- 序言:老撾萬(wàn)榮一對(duì)情侶失蹤数初,失蹤者是張志新(化名)和其女友劉穎找爱,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體泡孩,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡车摄,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吮播。...
- 正文 年R本政府宣布环戈,位于F島的核電站誊役,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏谷市。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一击孩、第九天 我趴在偏房一處隱蔽的房頂上張望迫悠。 院中可真熱鬧,春花似錦巩梢、人聲如沸创泄。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)鞠抑。三九已至,卻和暖如春忌警,著一層夾襖步出監(jiān)牢的瞬間搁拙,已是汗流浹背。 一陣腳步聲響...
- 正文 我出身青樓朋譬,卻偏偏與公主長(zhǎng)得像盐茎,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子徙赢,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 為了擴(kuò)大原子操作的適用范圍字柠,Go語(yǔ)言在1.4版本發(fā)布的時(shí)候向sync/atomic包中添加了一個(gè)新的類型Value...
- 原文鏈接:Java并發(fā)編程-無(wú)鎖CAS與Unsafe類及其并發(fā)包Atomic - CSDN博客 通過(guò)前面的分析我們...
- 前言:為了保證并發(fā)安全,go語(yǔ)言中可以使用原子操作狡赐。其執(zhí)行過(guò)程不能被中斷窑业,這也就保證了同一時(shí)刻一個(gè)線程的執(zhí)行不會(huì)被...
- atomic跟nonatomic修飾詞區(qū)別 給屬性原子性加上atomic,可以保證給屬性的setter跟gette...
- 人總是有表達(dá)的欲望的枕屉,同時(shí)也渴望得到他人的肯定数冬。哪怕清淡如我,也不能否認(rèn)有時(shí)會(huì)想展示一下觀點(diǎn)并沉醉在別人的贊同中。...