1. 多線程概念:
線程是指進程中的一個執行流程,一個進程中可以運行多個線程。比如java.exe進程中可以運行很多線程。線程總是屬于某個進程,進程中的多個線程共享進程的內存。
- 多線程的實現方式和啟動
- 多線程是依靠什么方式解決資源競爭
- 多線程的各種狀態以及優先級
- 多線程的暫停方式
2. 多線程詳解 1)多線程的實現方式和啟動:- 繼承Thread和是實現Runnable接口,重寫run方法
- 啟動只有一種方式:通過start方法,虛擬機會調用run方法
2) 多線程依靠什么解決資源競爭- 鎖機制:分為對象鎖和類鎖,在多個線程調用的情況,每個對象鎖都是唯一的,只有獲取了鎖才能調用synchronized方法
- synchronize同步:分為同步方法和同步方法塊
- 什么時候獲取鎖:每次調用到synchronize方法,這個時候去獲取鎖資源,如果線程獲取到鎖則別的線程只有等到同步方法介紹后,釋放鎖后,別的線程 才能繼續使用
3)線程的幾種狀態- 主要分為:新狀態(還沒有調用start方法),可執行狀態(調用start方法),阻塞狀態,死亡狀態
默認優先級為normal(5),優先級數值在1-10之間
4) 多線程的暫停方式- sleep:睡眠單位為毫秒
- wait,waitAll,notify,notifyAll,wait等待,只有通過wait或者waitAll喚醒
- yield:cpu暫時停用
- join