2012-08-17 123 views
-3

Java線程可以有開始,結束和序列,這是什麼意思?在java中sequence的含義是什麼?

+13

等待是保持資源進入它意味着什麼,沒有任何背景。這聽起來像你正在閱讀一本不好的書或教程。如果你給我們上下文,我們可能*能夠從周圍的文本中推斷出含義。 – 2012-08-17 06:43:06

+0

http://www.cs.nccu.edu.tw/~linw/javadoc/tutorial/java/threads/definition.html – CoffeeCup 2012-08-17 06:46:42

+0

http://prasanta-paul.blogspot.in/2011/06/multi-threaded- execution-control.html – 2012-08-17 06:47:06

回答

1

我認爲這意味着一個線程執行一系列操作。說實話,這個概念很糟糕。

換句話說:

  • 您創建一個Thread,理想傳遞一個Runnable。 (您可以擴展Thread代替並覆蓋其run方法但是這通常令人難以接受的。)
  • 你就可以調用start
  • 呼籲start線程將繼續在其方案執行的下一條語句
  • run方法執行獨立的線程,獨立於啓動它的線程。在這裏的行爲是什麼,我相信是由「序」的意思
  • 新線程最終結束下列條件之一造成的:
    • run方法正常完成
    • run方法有一個例外完成
    • 如果它是一個守護線程,它可以終止的JVM終止的部分原因是由於所有的非守護線程退出
0

在Java程序中,您可以創建線程,但它們不會由Java單獨執行。 Java需要底層操作系統的幫助來執行它們。爲了分配微處理器時間並監督所有線程的執行,操作系統自帶線程調度程序。維護線程執行順序的全部責任在於線程調度器。線程執行的順序應該優先於哪個線程。調度依賴於調度器的算法。許多類型的算法存在像搶佔時間分片循環賽等,這是一個非常複雜的算法,在給定時間內執行多次。
調度程序維護一個線程池。當Java線程開始調用start()方法時,它將加入等待線程池。

主題的國家
1.新狀態:線程實例的創作的線程處於這種狀態,但start()方法調用之前之後。此時,線程被認爲沒有活着。

2.可運行(Ready-to-run)狀態:線程從Runnable狀態開始其生命。一個線程在調用start()方法後首先進入可運行狀態,但是線程可以在運行,等待,休眠或從阻塞狀態返回之後返回到此狀態。在這種狀態下,線程正在等待處理器開啓。

3.運行狀態:線程處於運行狀態,表示線程當前正在執行。有幾種方法可以進入Runnable狀態,但只有一種方法可以進入運行狀態:調度程序從可運行池中選擇一個線程。

4.死亡狀態:當其線索run()完成時,可認爲線程已死亡。如果有任何線程進入這個狀態,這意味着它不能再次運行。
5.阻止: - 一個線程可以在這種狀態下,因爲被另一個線程

enter image description here