线程概述
線程概述
線程相關概念
進程
進程(Process)是計算機中的程序關于某數據集合上的一次運行活動,是操作系統進行資源分配與調度的基本單位.
? ? ? ? ? ? ? ? ? ? ? ? ? 可以把進程簡單的理解為正在操作系統中運行的一個程序.
?
線程
線程(thread)是進程的一個執行單元.
一個線程就是進程中一個單一順序的控制流, 進程的一個執行分支
進程是線程的容器,一個進程至少有一個線程.一個進程中也可以有多個線程.
在操作系統中是以進程為單位分配資源,如虛擬存儲空間,文件描述符等. 每個線程都有各自的線程棧,自己的寄存器環境,自己的線程本地存儲.
主線程與子線程
JVM 啟動時會創建一個主線程,該主線程負責執行 main 方法 . 主線程就是運行 main 方法的線程
Java 中的線程不孤立的,線程之間存在一些聯系. 如果在 A 線程中創建了 B 線程, 稱 B 線程為 A 線程的子線程, 相應的 A 線程就是 B 線程的父線程
并發可以提高以事物的處理效率, 即一段時間內可以處理或者完成更多的事情.
并行是一種更為嚴格,理想的并發
從硬件角度來說, 如果單核 CPU,一個處理器一次只能執行一個線程的情況下,處理器可以使用時間片輪轉技術 ,可以讓 CPU 快速的在各個線程之間進行切換,
對于用戶來說,感覺是三個線程在同時執行.
如果是多核心 CPU,可以為不同的線程分配不同的 CPU 內核.
總結
- 上一篇: Java操作Redis服务
- 下一篇: 线程的创建与启动——Thread 类有两