官术网_书友最值得收藏!

1.6 多線程的基本原理

當我們通過new Thread().start()來啟動一個線程時,底層到底做了什么呢?

如圖1-5所示,筆者描述了在Java中從創建一個線程到最終執行的整體流程。

圖1-5 線程從創建到最終執行的整體流程

當執行start()方法啟動線程時,會先在JVM層面創建一個線程,JVM具有跨平臺特性,它會根據當前操作系統的類型調用相關指令來創建線程并啟動。

線程啟動后,并不會立刻運行,而是要等到操作系統層面的CPU調度算法,把當前線程分配給某個CPU來執行。線程被分配執行后,會回調線程中的run()方法執行相關指令。

主站蜘蛛池模板: 赞皇县| 孝昌县| 滦平县| 太湖县| 乌什县| 上蔡县| 敖汉旗| 正阳县| 洛川县| 罗甸县| 克什克腾旗| 太原市| 吉安县| 上犹县| 始兴县| 洞口县| 永春县| 象山县| 渝中区| 阿瓦提县| 张家港市| 新泰市| 全州县| 昌宁县| 靖边县| 汕头市| 大城县| 扎兰屯市| 福安市| 东兴市| 岚皋县| 北辰区| 南召县| 托克逊县| 景洪市| 徐汇区| 汶上县| 夏邑县| 萝北县| 兴隆县| 博湖县|