導航:首頁 > 編程語言 > java定義線程

java定義線程

發布時間:2023-03-07 08:16:53

java怎麼創建一個線程

Java線程類也是一個object類,它的實例都繼承自java.lang.Thread或其子類。可以用如下方式用java中創建一個線程:

Treadthread=newThread();

執行該線程可以調用該線程的start()方法:

thread.start();

編寫線程運行時執行的代碼有兩種方式:一種是創建Thread子類的一個實例並重寫run方法,第二種是創建類的時候實現Runnable介面。接下來我們會具體講解這兩種方法:

創建Thread的子類

創建Thread子類的一個實例並重寫run方法,run方法會在調用start()方法之後被執行。例子如下:

{
publicvoidrun(){
System.out.println("MyThreadrunning");
}
}

可以用如下方式創建並運行上述Thread子類

MyThreadmyThread=newMyThread();
myTread.start();

一旦線程啟動後start方法就會立即返回,而不會等待到run方法執行完畢才返回。就好像run方法是在另外一個cpu上執行一樣。當run方法執行後,將會列印出字元串MyThread running。

實現Runnable介面

第二種編寫線程執行代碼的方式是新建一個實現了java.lang.Runnable介面的類的實例,實例中的方法可以被線程調用。下面給出例子:

{
publicvoidrun(){
System.out.println("MyRunnablerunning");
}
}

為了使線程能夠執行run()方法,需要在Thread類的構造函數中傳入MyRunnable的實例對象。示例如下:

Threadthread=newThread(newMyRunnable());
thread.start();

當線程運行時,它將會調用實現了Runnable介面的run方法。上例中將會列印出」MyRunnable running」。

⑵ java線程是什麼

一、操作系統中線程和進程的概念

現在的操作系統是多任務操作系統。多線程是實現多任務的一種方式。

進程是指一個內存中運行的應用程序,每個進程都有自己獨立的一塊內存空間,一個進程中可以啟動多個線程。比如在Windows系統中,一個運行的exe就是一個進程。

線程是指進程中的一個執行流程,一個進程中可以運行多個線程。比如java.exe進程中可以運行很多線程。線程總是屬於某個進程,進程中的多個線程共享進程的內存。

「同時」執行是人的感覺,在線程之間實際上輪換執行。

二、Java中的線程

在Java中,「線程」指兩件不同的事情:
1、java.lang.Thread類的一個實例;

2、線程的執行。

使用java.lang.Thread類或者java.lang.Runnable介面編寫代碼來定義、實例化和啟動新線程。

一個Thread類實例只是一個對象,像Java中的任何其他對象一樣,具有變數和方法,生死於堆上。

Java中,每個線程都有一個調用棧,即使不在程序中創建任何新的線程,線程也在後台運行著。

一個Java應用總是從main()方法開始運行,mian()方法運行在一個線程內,它被稱為主線程。

一旦創建一個新的線程,就產生一個新的調用棧。

線程總體分兩類:用戶線程和守候線程。

當所有用戶線程執行完畢的時候,JVM自動關閉。但是守候線程卻不獨立於JVM,守候線程一般是由操作系統或者用戶自己創建的

⑶ java創建線程的幾種方式,了解一下

第一種方式:使用Runnable介面創建線程

第二種方式:直接繼承Thread類創建對象

使用Runnable介面創建線程

1.可以將CPU,代碼和數據分開,形成清晰的模型

2.線程體run()方法所在的類可以從其它類中繼承一些有用的屬性和方法

3.有利於保持程序的設計風格一致

直接繼承Thread類創建對象

1.Thread子類無法再從其它類繼承(java語言單繼承)。

2.編寫簡單,run()方法的當前對象就是線程對象,可直接操作。

在實際應用中,幾乎都採取第一種方式

⑷ java中怎麼創建線程

Java使用Thread類代表線程,所有的線程對象都必須是Thread類或其子類的實例。Java可以用三種方式來創建線程,如下所示:
1)繼承Thread類創建線程
2)實現Runnable介面創建線程
3)使用Callable和Future創建線程

閱讀全文

與java定義線程相關的資料

熱點內容
java中網路編程重要嗎 瀏覽:681
如何登錄別人的伺服器 瀏覽:626
調度系統軟體python 瀏覽:205
微信大轉盤抽獎源碼 瀏覽:497
壓縮機損壞的表現 瀏覽:862
同步數據伺服器怎麼用 瀏覽:634
163郵箱伺服器的ip地址 瀏覽:50
伺服器跟域是什麼 瀏覽:128
rails啟動命令 瀏覽:465
logistic命令怎麼用 瀏覽:738
c語言點滴pdf 瀏覽:747
linuxrtc編程 瀏覽:258
linux打包並壓縮命令 瀏覽:644
aes加密的證書格式 瀏覽:99
oracledbcalinux 瀏覽:844
酬勤任務app怎麼被特邀 瀏覽:199
android應用文件夾 瀏覽:1002
平面設計法則pdf 瀏覽:339
3d圓角命令怎麼用 瀏覽:569
程序員買意外險還是重疾險 瀏覽:621