讀書會第十二期Java內(nèi)存模型與線程

      網(wǎng)友投稿 729 2022-05-30

      Java內(nèi)存模型

      主內(nèi)存與工作內(nèi)存

      每條線程還有自己的工作內(nèi)存,線程的工作內(nèi)存中保存了該線程使用的變量的主內(nèi)存副本,線程對變量的所有操作都必須在工作內(nèi)存中進行,而不能直接讀寫主內(nèi)存中的數(shù)據(jù)。不同的線程之間也無法直接訪問對方工作內(nèi)存中的變量,線程將變量值的傳遞均需要通過主內(nèi)存來完成,線程、主內(nèi)存、工作內(nèi)存三者的交互關系如下圖

      并發(fā)編程的三個概念

      【讀書會第十二期】Java內(nèi)存模型與線程

      原子性:基本數(shù)據(jù)類型的訪問、讀寫都是具備原子性的

      可見性:是指當一個線程修改了共享變量的值時,其他線程能夠立即得知這個改變。

      有序性:如果在本線程內(nèi)觀察所有的線程都是有序的;如果在一個線程中觀察另一個線程,所有的操作都是無序的。

      指令重排:

      為了提高程序運行效率、單線程下執(zhí)行結(jié)果一致

      Volidate

      禁止進行指令重排序、保證修改的值會立即被更新到主存,當有其他線程需要讀取時,它會去內(nèi)存中讀取新值

      Happen-before原則

      使用內(nèi)核線程實現(xiàn)的方式也成為1:1實現(xiàn)。

      使用用戶線程實現(xiàn)的方式也成為1:N實現(xiàn)。

      用戶線程與輕量級進程之間M:N的關系

      大大降低了整個進程被完全阻塞的方向,在這種混合模式中,用戶線程與輕量級進程的數(shù)量比是不定的,是M:N的關系

      協(xié)同式線程調(diào)度:線程的執(zhí)行時間由線程本身來控制,線程把自己的工作執(zhí)行完了之后,要主動通知系統(tǒng)切換到另一個線程上去。

      搶占式線程調(diào)度:每個線程間由系統(tǒng)來分配執(zhí)行時間,現(xiàn)成的切換不由線程本身來決定。

      Java 任務調(diào)度

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:【第11篇】微軟發(fā)布的Dynamic Head,創(chuàng)造COCO新記錄:60.6AP
      下一篇:張小白使用CentOS 7.9源碼編譯openGauss 2.0.0企業(yè)版的試驗日記
      相關文章
      国产成人A人亚洲精品无码| 亚洲精品国产成人| 久久亚洲精品AB无码播放| 亚洲综合亚洲综合网成人| 亚洲欧美aⅴ在线资源| 亚洲国产片在线观看| 亚洲精品国产情侣av在线| 亚洲综合男人的天堂色婷婷| 久久久久久亚洲Av无码精品专口| 久久亚洲私人国产精品| 亚洲国产一区二区三区青草影视| 亚洲av日韩综合一区在线观看| 亚洲av无码专区在线播放| 久久久亚洲欧洲日产国码农村| 亚洲国产高清人在线| 亚洲国产精品自在线一区二区| 亚洲最大的成网4438| 亚洲视频精品在线观看| 亚洲日本在线观看网址| 亚洲人成电影青青在线播放| 亚洲伊人久久精品| 亚洲最大的成人网站| 亚洲爆乳AAA无码专区| 国产AV日韩A∨亚洲AV电影| 亚洲精品乱码久久久久久蜜桃| 亚洲乱码日产精品a级毛片久久| 国产成人精品亚洲精品| 亚洲综合日韩久久成人AV| 亚洲大成色www永久网站| 亚洲人成依人成综合网| 亚洲婷婷天堂在线综合| 亚洲国产精品一区二区三区在线观看 | 亚洲视频在线观看免费| 亚洲黄色在线播放| 激情五月亚洲色图| 亚洲av无码一区二区三区天堂| 亚洲M码 欧洲S码SSS222| 亚洲一区二区视频在线观看| 国产亚洲精品xxx| 精品日韩亚洲AV无码 | 亚洲人成网站在线观看青青|