Thread類中的常用的方法及概述


Thread類中的常用的方法:

* 1. start():啟動當前線程;調用當前線程的run()
* 2. run(): 通常需要重寫Thread類中的此方法,將創建的線程要執行的操作聲明在此方法中
* 3. currentThread():靜態方法,返回執行當前代碼的線程
* 4. getName():獲取當前線程的名字
* 5. setName():設置當前線程的名字
* 6. yield():釋放當前cpu的執行權
* 7. join():在線程a中調用線程b的join(),此時線程a就進入阻塞狀態,直到線程b完全執行完以后,線程a才結束阻塞狀態。
* 8. stop():已過時。當執行此方法時,強制結束當前線程。
* 9. sleep(long millitime):讓當前線程“睡眠”指定的millitime毫秒。在指定的millitime毫秒時間內,當前線程是阻塞狀態。
* 10. isAlive():判斷當前線程是否存活

* 線程的優先級
* 1.
* MAX_PRIORITY:10
* MIN _PRIORITY:1
* NORM_PRIORITY:5 -->默認優先級
* 2.如何獲取和設置當前線程的優先級:
* getPriority():獲取線程的優先級
* setPriority(int p):設置線程的優先級
*
* 說明:高優先級的線程要搶占低優先級線程cpu的執行權。但是只是從概率上講,高優先級的線程高概率的情況下被執行。並不意味着只當高優先級的線程執行完以后,低優先級的線程才執行。

線程通信:wait() / notify() / notifyAll() :此三個方法定義在Object類中的。

一個Java應用程序java.exe,其實至少三個線程:main()主線程,gc()垃圾回收線程,異常處理線程。當然如果發生異常,會影響主線程。

線程的分類
一種是守護線程,一種是用戶線程。

主線程是一個用戶線程

java垃圾回收就是一個典型的守護線程

用戶線程結束時守護線程也會結束

守護線程用來服務用戶線程,通過在start()方法前調用thread.serDaemon(true)可以把一個用戶線程變成一個守護線程

並行與並發的理解
並行:多個CPU同時執行多個任務。比如:多個人同時做不同的事。
並發:一個CPU(采用時間片)同時執行多個任務。比如:秒殺、多個人做同一件事

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM