JavaRunnable線程編寫接口代碼
avaRunnable線程如何才能更好的適應目前的編程環境呢?下面我們就看看如何才能更好的進行相關環境。希望下面的文章對大家有所幫助。JavaRunnable線程接口只有一個方法run(),我們聲明自己的類實現Runnable接口並提供這一方法。
將我們的線程代碼寫入其中,就完成了這一部分 的任務。但是Runnable接口並沒有任何對線程的支持,我們還必須創建Thread類的實例,這一點通過Thread類的構造函 數 public Thread(Runnable target);來實現。
下面是一個例子:
ic class MyThread implements Runnable
2.{
count= 1, number;
ic MyThread(int num)
5.{
umber = num;
tln("創建線程 " + number);
8.}
ic void run()
10.{
e(true)
12.{
tln
14.("線程 " + number + ":計數 " + count);
(++count== 6) return;
16.}
17.}
ic static void main(String args[])
19.{
(int i = 0; i 〈 5;
21.i++) new Thread(new MyThread(i+1))。start();
22.}
23.}
嚴格地説,創建Thread子類的實例也是可行的,但是必須注意的是,該子類必須沒有覆蓋 Thread 類的' run 方法,否則該線程執行的將是子類的 run 方法,而不是我們用以實現Java Runnable線程接口的類的 run 方法,對此大家不妨試驗一下。
使用 Runnable 接口來實現多線程使得我們能夠在一個類中包容所有的代碼,有利於封裝,它的缺點在於,我們只能使用一套代碼,若想創建多個線程 並使各個線程執行不同的代碼,則仍必須額外創建類,如果這樣的話,在大多數情況下也許還不如直接用多個類分別繼承 Thread 來得緊湊。
綜上所述,兩種方法各有千秋,大家可以靈活運用。下面讓我們一起來研究一下多線程使用中的一些問題。
Java Runnable線程的四種狀態
1.新狀態:線程已被創建但尚未執行(start() 尚未被調用)。
2.可執行狀態:線程可以執行,雖然不一定正在執行。CPU 時間隨時可能被分配給該線程,從而使得它執行。
3.死亡狀態:正常情況下 run() 返回使得線程死亡。調用 stop()或 destroy() 亦有同樣效果,但是不被推薦,前者會產生異常,後者是強制終止,不會釋放鎖。
4.阻塞狀態:線程不會被分配 CPU 時間,無法執行。
-
JAVA認證基礎知識:JSP使用數據庫操作
在JSP中可以使用Java的JDBC技術,實現對數據庫中表記錄的查詢、修改和刪除等操作。JDBC技術在JSP開發中佔有很重要的地位。JDBC(JavaDataBaseConnectivity)是Java數據庫連接API.簡單地説,JDBC能完成三件事:(1)與一個數據庫建立連接,(2)向數據庫發送SQL語句,(3)處理數...
-
2017年Java程序員面試題集
Java看起來設計得很像C++,但是為了使語言小和容易熟悉,設計者們把C++語言中許多可用的特徵去掉了,這些特徵是一般程序員很少使用的。下面是小編整理的關於Java程序員面試題集,大家一起看看吧!1、面向對象的特徵有哪些方面?答:面向對象的特徵主要有以下幾個方面:1)抽...
-
Java新手如何學習Spring框架
Spring是Java開源J2EE應用程序框架,Struts是Java開源Web框架,Hibernate是Java開源持久層框架。對於Java新手來説,Java框架也是Java學習路上的一大路障。那麼如何學習Spring框架?下面跟yjbys小編一起來看看吧!Spring提供了管理業務對象的一致方法並且鼓勵了注入對...
-
Java高級工程師面試題及答案
隨着Internet的迅速發展,Web應用日益廣泛,Java語言也得到了迅速發展。Java軟件工程師是指運用Java這種開發語言去完成軟件產品的軟件程序設計、開發、測試、維護升級等工作的人員。那麼java工程師的面試你過了嗎?如果們有,快來看看yjbys小編為大家準備的Java高級...
相關文章
- java Runnable接口如何創建線程
- Java中break、continue、return語句的使用區別對比
- java Runnable接口創建線程詳解
- A Lifeguard at Johns Beach Saved a Drowning Child,A Lifeguar英語作文
- JavaScript中null和undefined的異同
- 關jQuery彈出窗口簡單實現代碼-javascript編程
- java如何利用java.net.URLConnection發送HTTP請求
- java的String=a; a==null和a.equals(null)這兩個判斷有什麼區別
- Java中break、continue、return語句的使用區別對比介紹
- 高一英語Unit 3 Travel journal的説課稿