国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java中線程的生命周期

2019-11-14 15:34:46
字體:
來源:轉載
供稿:網友

首先簡單的介紹一下線程:

  進程:正在運行中的程序。其實進程就是一個應用程序運行時的內存分配空間。

  線程:其實就是進程中的一條執行路徑。進程負責的是應用程序的空間的標示。線程負責的是應用程序的執行順序。

線程的生命周期:

  一般來說線程狀態有一下幾種:

  ①新建:

    創建線程對象。

  ②就緒:

    start方法被調用,線程獲得了執行資格,但還沒有執行權。

    (隨機性的原理:因為cpu的快速切換造成,哪個線程獲取到了cpu的執行權,哪個線程就執行。)

  ③運行:

    線程獲得了CPU的執行權,此狀態有執行資格也有執行權。

  ④阻塞:

    由于一些操作讓線程處于了該狀態,沒有了執行資格,也沒有了執行權。而另一些操作又可以將線程激活,激活后處于就緒狀態。

  ⑤死亡:

    run方法結束,線程對象變成垃圾,等待GC回收。

在順便介紹一下線程的一些方法:

  void run()   繼承Thread或者實現Runnable時必須實現的方法,里面寫耗費時間的操作。

  void start() 開啟線程的方法

  static void sleep(long t) 釋放CPU的執行權,不釋放鎖

  static void sleep(long millis,int nanos)

  final void wait()釋放CPU的執行權,釋放鎖

  final void notify()喚醒線程池中的任意一個線程

  interrupt():中斷線程。

  setPRiority(int newPriority):設置線程的優先級。(默認優先級是5)

  getPriority():返回線程的優先級。

  toString():返回該線程的字符串表示形式,包括線程名稱、優先級和線程組。

  Thread.yield():暫停當前正在執行的線程對象,并執行其他線程。 禮讓線程

  setDaemon(true):將該線程標記為守護線程或用戶線程。當正在運行的線程都是守護線程時,java 虛擬機退出。該方法必須在啟動線程前調用。

  join: 加入一個線程,當這個線程執行完之后才會執行別的線程。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新密市| 油尖旺区| 准格尔旗| 淅川县| 长治市| 马龙县| 揭阳市| 神农架林区| 清苑县| 阳朔县| 晋中市| 太康县| 德庆县| 绍兴县| 宜州市| 黔西县| 温州市| 闽侯县| 金乡县| 万全县| 台山市| 永清县| 林州市| 通化县| 白银市| 南木林县| 福鼎市| 衢州市| 和平县| 哈巴河县| 太和县| 区。| 南澳县| 衡东县| 永德县| 龙里县| 太湖县| 尼勒克县| 怀化市| 固安县| 安远县|