国产探花免费观看_亚洲丰满少妇自慰呻吟_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: 加入一個線程,當這個線程執行完之后才會執行別的線程。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 瓦房店市| 东方市| 台州市| 牙克石市| 恩施市| 密山市| 永济市| 天峨县| 壶关县| 偃师市| 平罗县| 辽阳县| 洛阳市| 温州市| 莲花县| 福建省| 汝城县| 得荣县| 美姑县| 永年县| 宣汉县| 定南县| 琼海市| 丹凤县| 喀喇沁旗| 涪陵区| 镇远县| 扎鲁特旗| 辽中县| 黄山市| 内黄县| 宜川县| 栾川县| 常山县| 萨迦县| 沙雅县| 岢岚县| 靖江市| 姚安县| 灵台县| 卢龙县|