国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

多線程精要

2019-11-14 10:39:13
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

目錄

中斷

線程池

=====

======

======

======

======

======

======

======

======

======

中斷

中斷是通過(guò)調(diào)用Thread.interrupt()方法來(lái)做的. 這個(gè)方法通過(guò)修改了被調(diào)用線程的中斷狀態(tài)來(lái)告知那個(gè)線程, 說(shuō)它被中斷了. 對(duì)于非阻塞中的線程, 只是改變了中斷狀態(tài), 即Thread.isInterrupted()將返回true; 對(duì)于可取消的阻塞狀態(tài)中的線程, 比如等待在這些函數(shù)上的線程, Thread.sleep(), Object.wait(), Thread.join(), 這個(gè)線程收到中斷信號(hào)后, 會(huì)拋出InterruptedException, 同時(shí)會(huì)把中斷狀態(tài)置回為false.調(diào)用該方法結(jié)束之后, 中斷狀態(tài)會(huì)變成false

參考1

線程池

在一些場(chǎng)景中,也需要要設(shè)置一個(gè)不同的最小線程數(shù)。比如當(dāng)一個(gè)系統(tǒng)最大需要同時(shí)處理2000個(gè)任務(wù),而平均任務(wù)數(shù)量只是20個(gè)情況下,就需要將最小線程數(shù)設(shè)置成20,而不是等于其最大線程數(shù)2000。此時(shí)如果還是將最小線程數(shù)設(shè)置的等于最大線程數(shù)的話,那么閑置線程(Idle Thread)占用的資源就比較可觀了,尤其是當(dāng)使用了ThreadLocal類(lèi)型的變量時(shí),會(huì)在每個(gè)線程的context中存儲(chǔ)該變量的副本。

ReentrantLock是通過(guò)內(nèi)部的Sync變量實(shí)現(xiàn)其鎖機(jī)制(分為公平和非公平,都是繼承自AbstractQueuedSynchronizer),AbstractQueuedSynchronizer提供了狀態(tài)位+隊(duì)列的機(jī)制實(shí)現(xiàn)了鎖機(jī)制


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 抚顺市| 漠河县| 甘谷县| 云南省| 鹿邑县| 阿尔山市| 正蓝旗| 大渡口区| 博白县| 舞钢市| 巫溪县| 绵竹市| 浏阳市| 林甸县| 北川| 嘉鱼县| 南雄市| 读书| 泰宁县| 古田县| 澄城县| 锡林浩特市| 新郑市| 姚安县| 彩票| 青海省| 隆回县| 邛崃市| 桦甸市| 保德县| 贵南县| 小金县| 沾益县| 濉溪县| 砚山县| 都兰县| 福海县| 新闻| 贵定县| 门源| 茶陵县|