Java 中的可運行接口:實現、步驟和錯誤
已發表: 2021-05-02目錄
介紹
Java中的可運行接口是其實例可以作為線程運行的接口。 在使用線程時,可運行接口充當 Java 編程語言的核心元素。 為運行線程而創建的 Java 類必須實現此接口。 本文將帶你深入了解Java中的runnable接口及其實現過程。
Java中的可運行接口是什麼?
可運行接口是包含單個方法的接口。 Java 程序在 java.lang 包中定義了這個方法,並在執行線程類時調用它。 它為類可以使用線程實現的對象提供模板。 您可以通過以下方式之一在 Java 中實現可運行接口:
- 使用子類線程
- 重寫 run() 方法
Java 不允許程序中的多重繼承。 你只能擴展一個類,當你擴展一個線程類時,它會消耗更多的內存、計算時間和其他資源。 因此,它增加了使用其他方法的開銷。 在以上兩個選項中,最好使用可運行接口來創建線程。 為此,您必須提供 run() 方法的實現。
在 Java 中使用 Runnable 接口創建線程的步驟
執行以下步驟以使用Java中的可運行接口創建線程。
- 創建一個將實現可運行接口的線程類。
- 在線程類中,編寫一個函數來覆蓋 run() 方法。
- 創建 Thread 類的實例。
- 線程實例有一個接受可運行對象的構造函數。 將此對像作為參數傳遞給線程實例。
- 最後調用線程實例的start方法。
另請閱讀: Java 項目理念和主題
Java中Runnable接口的實現
run() 方法的實現是創建新線程的最簡單方法。 它充當創建新線程的起點。 runnable 接口實現使用 run() 方法中的代碼並在並發線程上執行它。 您可以調用類、創建新變量或調用 run() 方法中的操作以在 Java 中實現可運行接口。 程序確保線程處於非活動狀態,直到它在代碼中打印 return 語句。
公共類 TestRunnableInterface { 公共靜態無效主要(字符串[]參數){ System.out.println(“來自primary()方法:” + Thread.currentThread().getName()); System.out.println(“在Java中實現runnable接口”); 可運行實例 = new Runnable() {@Override 公共無效運行(){ System.out.println(“來自run()方法:” + Thread.currentThread().getName()); } }; System.out.println(“創建線程對象的新實例。”); 線程測試 = 新線程(實例); System.out.println(“正在執行線程!”); test.start(); } } |
輸出
從 primary() 方法:main 在 Java 中實現可運行接口 創建線程對象的新實例。 來自 run() 方法:Thread-0 |
在 Java 中實現 Runnable 接口時遇到的錯誤
當程序由於語法或代碼錯誤而中斷時,run() 方法會引發運行時異常錯誤。 如果 Java 虛擬機沒有檢測到錯誤,則創建的線程會處理 JVM 遺漏的異常。 異常處理程序打印異常並停止程序。
導入 java.io.FileNotFoundException; 公共類 TestRunnableInterface { 公共靜態無效主要(字符串[]參數){ System.out.println(“主線程為:” + Thread.currentThread().getName()); 線程測試 = new Thread(new TestRunnableInterface().new DemoInstance()); test.start(); } 私有類 DemoInstance 實現 Runnable { 公共無效運行(){ System.out.println(Thread.currentThread().getName() + “, 調用 run() 方法!”); 嘗試 { 拋出新的 FileNotFoundException(); } 捕獲(FileNotFoundException 演示){ System.out.println(“發生錯誤!”); demo.printStackTrace(); } } } } |
輸出
主線程是:main Thread-0,調用 run() 方法! 發現錯誤! java.io.FileNotFoundException 在 TestRunnableInterface$DemoInstance.run(Example.java:21) 在 java.lang.Thread.run(Thread.java:748) |
上述程序中的TestRunnableInterface類沒有拋出FileNotFoundException異常。 Java 虛擬機負責處理應該由 TestRunnableInstance 類處理的異常。
Java 中可運行接口的用例
Java中的可運行接口用於服務器從客戶端接收多個連接請求的網絡場景。 Java 中的可運行接口通過執行多線程編程來快速有效地處理它。
從世界頂級大學在線學習軟件開發課程。 獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。
結論
簡而言之,在 Java中創建線程時,與子類線程相比,Java 中的可運行接口始終是更好的選擇。 本文中使用的代碼僅用於說明目的。 您可以根據需要修改示例中給出的語句。 在本文中,我們了解了Java 中的可運行接口以及如何通過在 Java 中實現可運行接口來創建線程。
您可以嘗試代碼來加強您的Java構造函數的知識。 如果您想深入了解 Java,請查看 upGrad Executive PG Program in Full Stack Development課程。 本課程專為在職專業人士而設計,並為頂級公司提供嚴格的培訓和工作幫助。
Java中的多線程是什麼?
多線程是 Java 中的一個概念,其中任務是同時執行的。 它允許程序同時執行許多不同的任務,而不是等待單個任務完成。 它是 Java 和 Java 開發人員最熱門的話題之一。 多線程是java非常強大的特性之一。 它通過運行多個線程有效地使用 CPU。 Java 有一個特殊的構造,稱為線程。 線程基本上是一個可以執行任意 Java 字節碼指令序列的軟件進程。 每個線程的執行獨立於其他線程。 開發人員可以隨時創建新線程,JVM 將處理該線程的執行。 這有助於開發高度可擴展且響應迅速的應用程序。
Java中的可運行接口是什麼?
runnable 接口用於編寫可以在單獨的線程中運行的應用程序。 任何實現可運行接口的類都稱為線程。 線程的代碼在線程啟動後由解釋器執行。 您可以實現可運行接口並創建自己的多線程程序。 有兩種方法可以實現這個接口。 第一個是使用線程子類。 另一種是通過覆蓋 run() 方法。