我需要幫助,以站在Java中的線程。Java旨在成爲'Threaded'
線程是程序中執行的線程。 Java虛擬機允許應用程序同時運行多個執行線程。
做什麼我們的意思是,當我們說Java的目標是成爲「樹狀」
我需要幫助,以站在Java中的線程。Java旨在成爲'Threaded'
線程是程序中執行的線程。 Java虛擬機允許應用程序同時運行多個執行線程。
做什麼我們的意思是,當我們說Java的目標是成爲「樹狀」
這意味着,各種操作可以而且應該同時進行。這可以通過使用線程來實現。您可以使用「低級」線程API(線程,可運行)或更高級別的API(計時器,執行程序)。
我希望這足以啓動Google搜索和學習。我建議你從低級線程API開始,以瞭解如何使用線程和同步。然後繼續學習java 1.5中引入的併發包的設施。不要從更高級別的API開始。您需要低級別才能瞭解將任務提交給執行程序後發生的情況。
好吧,先生,我將從低級別的線程開始,但請原諒我哪部分Java控制着哪個線程要運行下一個 –
@WathekMah - 一般來說,它是決定的操作系統(特別是本地線程調度程序)。 –
在Java中創建線程的兩種方法是什麼?何時使用每個? 有兩種方法可以在java中創建線程; •\t實現Runnable接口(一個java.lang.Runnable) •\t通過擴展Thread類(java.lang.Thread中) 當我們使用它們: •\t繼承Thread類是指子類不能擴展任何其他類,而實現Runnable接口 的類具有此選項。 •\t一個類可能只對可運行感興趣,因此,繼承Thread類的全部開銷將是過度的。當我們使用它時,這是真的嗎????????????????????????????????????????????????下面 –
做什麼我們的意思是,當我們說Java的目標是成爲「樹狀」
好了,從字面上我們不說,因爲調用的運行時環境「線程」是指東西,而不同;見http://en.wikipedia.org/wiki/Threaded_code。 (並注意該頁面需要注意區分「線程」和「多線程」!)
實際上,我們將Java描述爲支持「多線程」編程的語言。你的問題中的引用是對這意味着什麼的簡潔描述。更長遠的描述如下。
程序通常按順序執行語句。例如:
int i = 1;
i = i + j;
if (i < 10) {
...
}
在上面,語句按順序依次執行。
控制像這樣的語句執行的東西被稱爲「控制線程」或(更普遍的)線程。你可以把它看作一個接一個地執行語句的自動機,而且每次只能執行一個語句。它記錄了局部變量和過程調用的狀態。 (它通常使用一個堆棧和一組專用寄存器來執行此操作......但這是一個實現細節。)
在多線程程序中,可能有很多這樣的自動機,每個自動機都執行不同的語句(使用它自己的堆棧和寄存器)。每個線程都可能能夠與其他線程通信(通過觀察共享對象等),並且可以以各種原因與它們同步。
根據硬件(和操作系統)的不同,這些線程可能都運行在同一個處理器上,或者它們可能(在不同的時間)在不同的處理器上運行。它通常是兩者的組合,並且通常由操作系統來決定哪些可以工作的線程被允許運行。 (這由線程調度器處理。)
從Java的角度來看,多線程編程是在低電平使用Thread
類中實現,方法和塊,而Object
水平wait
和notify
方法。更高級別的API爲解決常見問題提供了標準構建模塊。
「Java是線程化的」意味着Java可以同時執行兩個或多個作業。
如果您想了解更多關於看看甲骨文Java併發教程:http://docs.oracle.com/javase/tutorial/essential/concurrency/
谷歌是您的朋友:http://en.wikipedia.org/wiki/Threaded_code – Matteo
upvoted的問題 - 你可以在google的東西並不意味着你不能在這裏提問 – necromancer
@agksmehx同意但是(儘管我沒有投票)我覺得在提問之前應該做更多的研究。澄清是可以的,像「請解釋<普通話題>」這樣的問題並不是很有用。 – Matteo