1. 程式人生 > >java小知識點7

java小知識點7

ima 需要 art ges strong mina ava tail rmi

進程:每個進程擁有自己的一整套變量

線程:共享數據

調用Thread.sleep不會創建一個新的線程,sleep是Thread類的靜態方法,用於暫停當前線程。

定義線程建議通過Runnable接口,繼承Thread無法繼承其它的類。

技術分享

線程的stop方法已經被棄用。請求線程終止,使用interrupt方法

如果線程正在運行,調用interrupt方法,中斷狀態置位

線程被阻塞,調用interrupt方法,拋出InterruptException

線程狀態:

  • new
  • runnable
  • blocking
  • waiting
  • timed waiting
  • terminated

新創建狀態:

Thread對象剛被實例化

可運行線程:

調用start方法後,線程處於runnable方法。可運行的線程可能正在運行,也可能沒有運行,取決於時間片分配

阻塞狀態和等待狀態:

技術分享

被終止:

  • run方法正常退出
  • 一個沒有捕獲的異常

技術分享

線程屬性

線程優先級1-10,高度依賴操作系統

守護線程為其它線程提供服務,當虛擬機中只剩下守護線程,虛擬機退出。守護線程不應該訪問固有資源,因為它在任意時刻發生中斷。

線程的run方法不能拋出任何必檢異常

在java多線程程序中,所有線程都不允許拋出未捕獲的checked exception(比如sleep時的InterruptedException),也就是說各個線程需要自己把自己的checked exception處理掉。

捕獲線程逃逸的異常:http://blog.csdn.net/u010853261/article/details/61419677

java小知識點7