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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 雅安市| 左云县| 九寨沟县| 东方市| 常熟市| 红河县| 湟源县| 敦煌市| 鸡泽县| 肇东市| 兰溪市| 霸州市| 花莲市| 青川县| 东乌珠穆沁旗| 武平县| 萍乡市| 日土县| 汾阳市| 雷州市| 灵武市| 准格尔旗| 梁河县| 佛坪县| 高陵县| 资源县| 仙桃市| 湘阴县| 昌邑市| 云和县| 繁昌县| 理塘县| 应城市| 共和县| 大同市| 新余市| 图们市| 通州区| 西藏| 鹤庆县| 博罗县|