線程:輕量級進程,是CPU最小的調度單元
1.併發/高併發
硬件:CPU、內存、磁盤、網絡
軟件:最大化的利用硬件資源:線程數量、JVM內存分配大小、網絡通信機制(BIO,NIO,AIO)、磁盤IO
併發和並行:
併發:體現的是服務端承載的吞吐量 單核心CPU也是支持多線程的,cpu的時間片切換
並行:CPU能同時處理的多個線程
多線程特點:1.異步 2.並行
Java中的線程
Runnable接口
Thread類
Callable/future
線程基礎
線程的生命週期
狀態:
阻塞 (線程阻塞都會釋放CPU)
WAITING wait()
TIMED_WAITING sleep(100) 帶有休眠時間的阻塞
BLOCKED 沒搶到鎖的狀態
IO阻塞
線程生命週期中的各狀態: