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

首頁 > 學院 > 開發設計 > 正文

多線程精要

2019-11-14 11:09:49
字體:
來源:轉載
供稿:網友

目錄

中斷

線程池

=====

======

======

======

======

======

======

======

======

======

中斷

中斷是通過調用Thread.interrupt()方法來做的. 這個方法通過修改了被調用線程的中斷狀態來告知那個線程, 說它被中斷了. 對于非阻塞中的線程, 只是改變了中斷狀態, 即Thread.isInterrupted()將返回true; 對于可取消的阻塞狀態中的線程, 比如等待在這些函數上的線程, Thread.sleep(), Object.wait(), Thread.join(), 這個線程收到中斷信號后, 會拋出InterruptedException, 同時會把中斷狀態置回為false.調用該方法結束之后, 中斷狀態會變成false

參考1

線程池

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

ReentrantLock是通過內部的Sync變量實現其鎖機制(分為公平和非公平,都是繼承自AbstractQueuedSynchronizer),AbstractQueuedSynchronizer提供了狀態位+隊列的機制實現了鎖機制


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 瑞丽市| 龙里县| 水富县| 巨鹿县| 马山县| 武隆县| 普宁市| 和顺县| 兰州市| 林西县| 龙南县| 松原市| 老河口市| 阿尔山市| 江油市| 新平| 镇赉县| 房山区| 商洛市| 离岛区| 甘泉县| 临西县| 龙口市| 伊通| 南丰县| 密云县| 普兰店市| 绥阳县| 晋州市| 平果县| 台江县| 丹棱县| 诏安县| 和顺县| 罗江县| 商都县| 宁安市| 浠水县| 盐池县| 黑河市| 鸡东县|