對緩沖行我還有些地方不太理解,
1 緩存一致性下緩沖行失效是不是僅針對volatile,如果不是volatile變量應該不會有這種問題吧?
2 具體實踐的時候,什么情況下才進行緩沖行填充?所有高并發(fā)情況下成員volatile變量頻繁寫的類都要進行緩沖行填充嗎?都要使用disruptor框架?
前幾天剛看了幾篇相關文章,說一下我的理解吧,權作交流,有不對的地方還請指正。
首先說說我對題目中的幾個相關重要概念的理解:
然后,針對題主的問題,說說我的看法:
最后總結一下題主兩個問題的答案:
緩存一致性
是一個需要解決的問題,volatile
和緩存行填充
是解決兩個不同但有一定關聯(lián)關系的問題的方式,如果沒有并發(fā)寫,也就沒有緩存一致性問題,也就不需要volatile和緩存行填充了緩存行填充
是為了解決偽共享
問題,理論上來說,所有并發(fā)寫入同一緩存行的不同變量的操作都會產(chǎn)生偽共享問題,高并發(fā)下volatile變量頻繁寫肯定需要進行緩存行填充
。至于disruptor框架,不巧我還不是很了解,但如果你能手動進行緩存行填充的話,也不是必須要用吧?北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學院和江蘇省首批服務外包人才培訓基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術與教育服務機構,發(fā)展為教育服務業(yè)的綜合性企業(yè)集團,成為集合面授教學培訓、網(wǎng)
達內(nèi)教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構,是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術, 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術顧問,美國Dachieve 系統(tǒng)架構師,美國AngelEngineers Inc. 系統(tǒng)架構師。