線程(四)額外的線程能力

  • 給出線程組的定義
  • 你爲什麼使用線程組
  • 你爲什麼應該避免使用線程組?
  • 你爲什麼應該認識線程組?
  • 判斷對錯:如何線程調用get()方法時,調用線程的存儲槽裏沒有值,改方法就會去調用initialValue()。
  • 如何從父線程傳遞一個值到子線程中?
  • 指出組成timer框架的全部類。
  • 判斷對錯:Timer()會建立一個新的定時器,其任務執行線程會以守護線程的方式運行
  • 給出固定延遲的執行任務的定義
  • 你會調用那些方法來調度一個固定延遲的執行任務
  • 給出固定速度率的執行任務的定義
  • Timer的cancle()和TimerTask的cancle()方法有何區別?
  • 建立一個BackAndForth應用程序,使用Timer和TimerTask 去反覆地移動一個星號:向前20步,而後向右20步。星號經過System.out.print()輸出。

  

  小結框架

  類ThreadGroup 描述了一個線程組,它存儲了一組線程。線程組經過把方法應用到其中的全部線程而簡化了多條線程的管理工做。因爲多數有用的方法因競態條件遭到廢棄,你不該該再使用線程組。spa

    類ThreadLocal 描述了一個線程局部變量,它可讓你把每條線程的數據(如用戶ID)和線程關聯。線程局部變量針對每一個訪問該變量的線程都提供了單獨的存儲槽。你能夠把它想象成具備多個槽的變量,而後每條線程均可以在這個變量中存儲不一樣的值。每條線程只能看到本身的值而不會意識到其餘的線程在這個變量中也有屬於本身的值。存儲在線程局部變量中的值都不是相關的。父線程能夠藉助類InheritableThreadLocal 把值傳遞到子線程中。
線程

  一般狀況下,安排單次的執行任務或者規律性的重複任務是有必要的。Java 1.3引入了定時框架,用於在定時器上下文中可控制的控制線程的執行,其由類Timer和TimerTask 構成。get

相關文章
相關標籤/搜索