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

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

多線程精要

2019-11-14 12:01:58
字體:
來源:轉載
供稿:網友

目錄

中斷

線程池

=====

======

======

======

======

======

======

======

======

======

中斷

中斷是通過調用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提供了狀態位+隊列的機制實現了鎖機制


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南康市| 城市| 抚顺市| 娄底市| 天祝| 古蔺县| 方山县| 奉化市| 万源市| 新宾| 泗洪县| 永修县| 保靖县| 仁化县| 通城县| 白玉县| 楚雄市| 恭城| 武隆县| 隆化县| 富蕴县| 盐亭县| 克什克腾旗| 东山县| 太谷县| 云阳县| 资兴市| 靖远县| 晋宁县| 临湘市| 普兰店市| 平谷区| 申扎县| 西和县| 全州县| 盘山县| 汪清县| 朝阳县| 龙南县| 青浦区| 兴安县|