Java26 多線程

單線程:只能1個程序在運行,運行結束後才能進行下一個程序。
多線程:能多個程序共同執行,提升效率。
程序運行原理
分時調度:全部線程輪流使用 CPU 的使用權,平均分配每一個線程佔用 CPU 的時間。
搶佔式調度:優先讓優先級高的線程使用 CPU,若是線程的優先級相同,那麼會隨機選擇一個(線程隨機性),Java使用的爲搶佔式調度。
主線程就是main方法所在的線程,當咱們只有一個main方法時,main方法從上往下挨個執行 這就是單線程
Thread類
構造方法
Thread()構造一個thread對象
Thread(String name)構造一個thread對象而且給對象起名字
經常使用方法
start()是該線程開始執行
run()線程執行時所走的代碼
//建立自定義線程對象
MyThread mt = new MyThread
//開始執行
mt.start();
這樣就能多線程的運做程序了
獲取線程名稱的方法
getname()返回當前線程的名稱
main方法想要獲取線程名稱須要先獲取當前線程對象
Thread.currentThread()
線程池
Runnable
Executors:線程池建立工廠類
public static ExecutorService newFixedThreadPool(int nThreads):返回線程池對象
ExecutorService:線程池類
Future<?> submit(Runnable task):獲取線程池中的某一個線程對象,並執行
Future接口:用來記錄線程任務執行完畢後產生的結果。線程池建立與使用
使用線程池中線程對象的步驟:
建立線程池對象
建立Runnable接口子類對象
提交Runnable接口子類對象
關閉線程池
Callable
Callable接口:與Runnable接口功能類似,用來指定線程的任務。其中的call()方法,用來返回線程任務執行完畢後的結果,call方法可拋出異常。
ExecutorService:線程池類
<T> Future<T> submit(Callable<T> task):獲取線程池中的某一個線程對象,並執行線程中的call()方法
Future接口:用來記錄線程任務執行完畢後產生的結果。線程池建立與使用
使用線程池中線程對象的步驟:
建立線程池對象
建立Callable接口子類對象
提交Callable接口子類對象
關閉線程池多線程

 

簡單的多線程搶票系統線程

 

 

 

 

 

相關文章
相關標籤/搜索