官术网_书友最值得收藏!

1.7 多線程編程常用術(shù)語

多線程編程常用術(shù)語如表1-1所示。

表1-1 多線程編程常用術(shù)語

續(xù)表

清單1-4 工作者線程的示例代碼

清單1-5 非線程安全的計(jì)數(shù)器類

清單1-6 線程安全的計(jì)數(shù)器類

[1]“正常停止”指Java虛擬機(jī)既不是通過System.exit調(diào)用來停止的,也不是通過強(qiáng)制停止進(jìn)程的方式來停止的(如在Linux系統(tǒng)下使用kill命令停止Java進(jìn)程)。

[2]這是從Java虛擬機(jī)規(guī)范(Java Virtual Machine Specification)的角度來說的,在實(shí)現(xiàn)具體的Java虛擬機(jī)的時(shí)候,可能會(huì)用一個(gè)調(diào)用棧來實(shí)現(xiàn)這兩種調(diào)用棧的功能。(參見鏈接[1])

[3]即運(yùn)行Java虛擬機(jī)的主機(jī)。

[4]線程調(diào)度器是操作系統(tǒng)的一部分。

[5]如文件讀/寫和阻塞式Socket讀/寫。

[6]線程所執(zhí)行的代碼從CPU緩存中訪問其所需的變量值比從主內(nèi)存(RAM)中訪問相應(yīng)的變量值要快得多,但是上下文切換會(huì)導(dǎo)致相關(guān)線程所訪問的CPU緩存內(nèi)容失效,這使得相關(guān)線程稍后會(huì)被重新調(diào)度到運(yùn)行時(shí),其不得不再次訪問主內(nèi)存中的變量以重新創(chuàng)建CPU緩存內(nèi)容。

[7]相應(yīng)的可執(zhí)行文件為:Windows安裝目錄\System32\perfmon.exe。

[8]以Linux版JDK為例,相應(yīng)的jvisualvm工具的可執(zhí)行文件為:JDK主目錄/bin/jstack。

[9]以Linux版JDK為例,相應(yīng)的jstack工具的可執(zhí)行文件為:JDK主目錄/bin/jstack。

[10]有關(guān)指令重排序的進(jìn)一步內(nèi)容,請(qǐng)參考Java內(nèi)存模型(JMM,Java Memory Model)的相關(guān)資料。

[11]當(dāng)然,如果Web服務(wù)端程序?qū)Χ鄠€(gè)請(qǐng)求的處理之間存在共享資源(比如數(shù)據(jù)庫),那么對(duì)一個(gè)請(qǐng)求的處理快慢實(shí)際上仍然會(huì)影響到對(duì)其他請(qǐng)求的處理。

[12]例如,一個(gè)系統(tǒng)被分解為多個(gè)模塊,每個(gè)模塊是一個(gè)Java進(jìn)程(程序),各個(gè)模塊間通過網(wǎng)絡(luò)通信。

主站蜘蛛池模板: 京山县| 盐亭县| 遵义县| 巴马| 平湖市| 宁南县| 怀远县| 当阳市| 曲松县| 皋兰县| 金山区| 京山县| 莲花县| 黎川县| 安乡县| 青神县| 黄石市| 巩义市| 阿拉善右旗| 闽侯县| 聂荣县| 汉川市| 巴林右旗| 鹤峰县| 长岭县| 彭州市| 汉源县| 夏津县| 棋牌| 黄石市| 包头市| 留坝县| 慈利县| SHOW| 南陵县| 西昌市| 繁昌县| 苍梧县| 东平县| 裕民县| 法库县|