国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 台中县| 萨嘎县| 安吉县| 通州市| 辽阳县| 锡林浩特市| 阜宁县| 青川县| 温泉县| 延川县| 重庆市| 灵台县| 格尔木市| 韶关市| 澄迈县| 香格里拉县| 南丹县| 阿拉尔市| 固阳县| 托里县| 塔河县| 利川市| 呼图壁县| 郯城县| 昌宁县| 沙河市| 丰城市| 苍山县| 金乡县| 桑植县| 兰州市| 陕西省| 台南县| 廉江市| 进贤县| 龙井市| 大渡口区| 开封县| 岐山县| 阿克陶县| 固安县|