国产探花免费观看_亚洲丰满少妇自慰呻吟_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提供了狀態位+隊列的機制實現了鎖機制


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江陵县| 高台县| 永城市| 安塞县| 永川市| 临清市| 汝阳县| 久治县| 诸城市| 嘉峪关市| 丹阳市| 辽宁省| 四子王旗| 凭祥市| 龙州县| 太和县| 祁连县| 栖霞市| 时尚| 那曲县| 丹江口市| 山西省| 五大连池市| 长沙县| 咸丰县| 鄄城县| 商河县| 保山市| 石河子市| 博兴县| 霍林郭勒市| 临汾市| 利辛县| 葵青区| 澄江县| 广宗县| 普兰店市| 南雄市| 西安市| 宜兰市| 吉木乃县|