最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java編程思想中關(guān)于并發(fā)的總結(jié)

 更新時(shí)間:2019年09月14日 14:37:21   作者:mihasha  
在本文中小編給大家整理的是關(guān)于Java編程思想中關(guān)于并發(fā)的總結(jié)以及相關(guān)實(shí)例內(nèi)容,需要的朋友們參考下。

知識點(diǎn)摘抄

1、用并發(fā)解決的問題大體上可以分為“速度”和“設(shè)計(jì)可管理性”兩種。

2、并發(fā)通常是提高運(yùn)行在單處理器上的程序的性能。

這聽起來有些違背直覺。如果你仔細(xì)考慮一下就會發(fā)現(xiàn),在單處理器上運(yùn)行的并發(fā)程序開銷確實(shí)應(yīng)該比該程序的所有部分都順序執(zhí)行的開銷大,因?yàn)槠渲性黾恿怂^上下文切換的代價(jià)(從一個(gè)任務(wù)切換到另一個(gè)任務(wù))。

使這個(gè)問題變得有些不同的是阻塞。如果程序中的某個(gè)任務(wù)因?yàn)樵摼€程控制之外的某些條件(通常是I/O)而導(dǎo)致不能繼續(xù)執(zhí)行,那么我們就說這個(gè)任務(wù)或線程阻塞了。如果沒有并發(fā),則整個(gè)程序都將停止下來,直至外部條件發(fā)生變化。但是如果使用并發(fā)來編寫

程序,那么當(dāng)一個(gè)任務(wù)阻塞時(shí),程序中的其他任務(wù)還能繼續(xù)執(zhí)行,因此這個(gè)程序可以保持繼續(xù)向前執(zhí)行。事實(shí)上,從性能的角度看,如果沒有任務(wù)會阻塞,那么在單處理器機(jī)器上使用并發(fā)就沒有任何意義。

3、實(shí)現(xiàn)并發(fā)最直接的方式是在操作系統(tǒng)級別使用進(jìn)程。進(jìn)程是運(yùn)行在它自己的地址空間內(nèi)的自包容的程序。

4、操作系統(tǒng)通常會將進(jìn)程互相隔離開,因此他們不會彼此干涉,這使得用進(jìn)程編程相對容易一些。與此相反的是,像Java所使用的這種并發(fā)系統(tǒng)會共享諸如內(nèi)存和I/O這樣的資源,因此編寫多線程程序最基本的困難在于在協(xié)調(diào)不同線程驅(qū)動的任務(wù)之間的對這些資

源的使用,以使得這些資源不會同時(shí)被多個(gè)任務(wù)訪問。

5、Java的線程機(jī)制是搶占式的,這表示調(diào)度機(jī)制會周期性的中斷線程,將上下文切換到另一個(gè)線程,從而為每個(gè)線程都提供時(shí)間片,使得每個(gè)線程都會分配到數(shù)量合理的的時(shí)間去驅(qū)動它的任務(wù)。

6、一個(gè)線程就是在進(jìn)程中的一個(gè)單一的順序控制流,因此,單個(gè)進(jìn)程可以擁有多個(gè)并發(fā)執(zhí)行的任務(wù)。

知識點(diǎn)擴(kuò)展

發(fā)布:一個(gè)對象是使它能夠被當(dāng)前范圍之外的代碼所引用:

常見形式:將對象的的引用存儲到公共靜態(tài)域;非私有方法中返回引用;發(fā)布內(nèi)部類實(shí)例,包含引用。

逃逸:在對象尚未準(zhǔn)備好時(shí)就將其發(fā)布。

不要讓this引用在構(gòu)造函數(shù)中逸出。例,在構(gòu)造函數(shù)中啟動線程,線程會包含對象的引用。

同步容器:對容器的所有狀態(tài)進(jìn)行穿行訪問,Vector、Hashtable,Cllections.synchronizedMap|List

并發(fā)容器:ConcurrentHashMap,CopyOnWriteArrayList,ConcurrentLinkedQueue、BlockingQueue

list 隨機(jī)訪問特性的優(yōu)勢。

Blocking 增加了可阻塞的get set操作

ConcurrentHashMap:分離鎖,為并發(fā)訪問帶來的高的吞吐量,同時(shí)幾乎沒有損失單個(gè)線程的訪問性能。返回弱一致性的迭代器。

迭代器的弱一致性,在迭代器生成以后會檢測容器的修改變化。

并發(fā)容器 size(), isEmpty() 弱化,返回近似結(jié)果。

CopyOnWriteArrayList:每次修改容器時(shí)復(fù)制,適用迭代需求大于修改需求情況。

生產(chǎn)者消費(fèi)者模式,運(yùn)用有界阻塞隊(duì)列解耦生產(chǎn)者和消費(fèi)者的代碼。

Executor任務(wù)執(zhí)行框架,實(shí)現(xiàn)了生產(chǎn)者消費(fèi)者模式。

SynchronousQueue:put等待消費(fèi)者可用,take等待生產(chǎn)者可用,適用于消費(fèi)者充足的情景。

以上就是本次介紹的全部知識點(diǎn)內(nèi)容,感謝大家的學(xué)習(xí)和對腳本之家的支持。

相關(guān)文章

  • spring?boot入門之誕生背景及優(yōu)勢影響

    spring?boot入門之誕生背景及優(yōu)勢影響

    這篇文章主要為大家描述說明了介紹了spring?boot誕生的背景以及其產(chǎn)生的優(yōu)勢影響,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • MyBatis-Plus將字段修改為空值的解決方案

    MyBatis-Plus將字段修改為空值的解決方案

    這篇文章主要介紹了MyBatis-Plus將字段修改為空值的解決方案,本文給大家分享三種常用的解決方案,感興趣的朋友一起看看吧
    2023-12-12
  • java之Object類用法實(shí)例

    java之Object類用法實(shí)例

    這篇文章主要介紹了java之Object類用法實(shí)例,是Java程序設(shè)計(jì)中比較重要的概念,以實(shí)例的形式對其定義及用法做了較為深入的講解,需要的朋友可以參考下
    2014-10-10
  • Java利用跳躍表解決雙重隊(duì)列問題詳解

    Java利用跳躍表解決雙重隊(duì)列問題詳解

    這篇文章主要為大家詳細(xì)介紹了Java如何利用跳躍表來解決雙重隊(duì)列的問題。本文通過一個(gè)簡單的例題進(jìn)行了講解,感興趣的小伙伴可以了解一下
    2022-12-12
  • 詳解springboot+atomikos+druid?數(shù)據(jù)庫連接失效分析

    詳解springboot+atomikos+druid?數(shù)據(jù)庫連接失效分析

    本文主要介紹了springboot+atomikos+druid?數(shù)據(jù)庫連接失效分析,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Java 中實(shí)現(xiàn)隨機(jī)無重復(fù)數(shù)字的方法

    Java 中實(shí)現(xiàn)隨機(jī)無重復(fù)數(shù)字的方法

    為了更好地理解這個(gè)題意,我們先來看下具體內(nèi)容:生成一個(gè)1-100 的隨機(jī)數(shù)組,但數(shù)組中的數(shù)字不能重復(fù),即位置是隨機(jī)的,但數(shù)組元素不能重復(fù)
    2013-03-03
  • Java中使用qsort對類進(jìn)行排序的操作代碼

    Java中使用qsort對類進(jìn)行排序的操作代碼

    這篇文章主要介紹了JAVA中如何使用qsort對類進(jìn)行排序,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • Java雙向鏈表倒置功能實(shí)現(xiàn)過程解析

    Java雙向鏈表倒置功能實(shí)現(xiàn)過程解析

    這篇文章主要介紹了Java雙向鏈表倒置功能實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 在IDEA中創(chuàng)建SpringBoot項(xiàng)目的詳細(xì)步驟

    在IDEA中創(chuàng)建SpringBoot項(xiàng)目的詳細(xì)步驟

    這篇文章主要給大家介紹了在IDEA中創(chuàng)建SpringBoot項(xiàng)目的詳細(xì)步驟,文中有詳細(xì)的圖文介紹和代碼示例,對大家的學(xué)習(xí)和工作有一定的幫助,需要的朋友可以參考下
    2023-09-09
  • MyBatis自定義typeHandler的完整實(shí)例

    MyBatis自定義typeHandler的完整實(shí)例

    這篇文章主要給大家介紹了關(guān)于MyBatis自定義typeHandler的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用MyBatis具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04

最新評論

蒲城县| 鹤岗市| 海淀区| 新密市| 双鸭山市| 稷山县| 普格县| 高邮市| 德昌县| 革吉县| 和政县| 刚察县| 常山县| 桑日县| 兴城市| 珠海市| 姚安县| 澜沧| 昌邑市| 报价| 曲水县| 沙雅县| 当阳市| 汤原县| 石阡县| 乌苏市| 克什克腾旗| 腾冲县| 临沭县| 华阴市| 和田市| 凤山市| 英吉沙县| 昌宁县| 广元市| 溆浦县| 大理市| 镇沅| 南靖县| 甘谷县| 和顺县|