您好,登錄后才能下訂單哦!
這篇文章主要講解了“Java線程的創建方法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Java線程的創建方法”吧!
多線程指的是一個程序運行時,會包含多個線程同時進行。
Java創建線程有三種基本的方法,分別是繼承Thread類,實現Runnable接口(推薦的實現方式),實現Callable接口實現Java多線程。
1. 繼承Thread類,然后重寫Thread 的run()方法,基本語法格式為public MyThread extends Thread { @Override public void run() { // 需要在線程中運行的邏輯代碼塊 } }, 創建線程具體方法為 MyThread myThread = new MyThread(),創建好線程之后,需要調用myThread.start()方法啟動線程,之后run()方法里面的邏輯才可以在線程中運行,如果不使用start()方法啟動線程,而是直接使用線程對象調用myThread.run()方法,則run()方法里面的程序不屬于子線程,還是屬于主線程的;當run()方法執行結束之后,線程結束被銷毀。同一個線程對象不可以start()多次,無論這個線程當前處于什么狀態都是不可以重新start()的。
2. 重寫Runnable接口,重寫接口里面的run()方法,實現方式為public MyThread implements Runnable { @Override public void run() { // 需要在線程中運行的邏輯代碼塊 }},之后的實現和繼承Thread類似,都是使用線程對象的start()方法進行啟動,但是一般推薦這種實現方式,因為Java是屬于單繼承的,如果繼承了Thread類,就不可以繼承其他的類,會有一定的局限性。
3. 實現Callable接口實現多線程,實現該接口之后,需要重寫call()方法, 實現方式為public class CallableDemo implements Callable { @Override public String call() throws Exception { // 需要都在線程中運行的邏輯代碼塊 return “線程結束返回的信息” } },call()方法會有返回值,可以返回線程執行結束之后需要返回的一些信息,并且可以拋出一些異常信息,創建線程的方法可以new一個Thread并且傳入一個FutureTask的對象,之后調用線程對象的start()方法啟動線程。當線程執行完成之后,可以使用FutureTask對象的get()方法獲取到線程的返回值。
在java中創建線程時可以給線程設置自己的名稱,使用setName( name )進行設置,通過設置名稱,可以很好的區分每一個線程。也可以通過setPriority( priority )設置線程的優先級,優先級越高,所獲得的CPU資源越多,線程執行的幾率就越大。線程的優先級為1-10,超出這個范圍,程序則會拋出異常,默認值為5。可以通過isAlive()方法判斷線程是否處于活躍狀態。
感謝各位的閱讀,以上就是“Java線程的創建方法”的內容了,經過本文的學習后,相信大家對Java線程的創建方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。