国产成人综合一区精品,久久精品爱国产免费久久,中文精品视频一区二区在线观看

廣州總校區切換校區
復制成功
微信號:togogoi
添加微信好友, 詳細了解課程
已復制成功,如果自動跳轉微信失敗,請前往微信添加好友
打開微信
圖片
news

新聞資訊

Java線程的狀態

發布時間: 2023-04-18

每個Java程序都有一個默認的主線程,對于Java程序來說,主線程是執行main()方法的線索,對于Applet程序來說,主線程是指導瀏覽器加載和執行Java Applet程序的線索。為了實現多線程,必須在主線程中創建一個新的線程對象。任何線程一般有五種狀態,即創建、準備、運行、阻塞和終止。?

1、新生狀態

在程序中用構造方法(new操作符)創建一個新線程時,如new Thread(r),該線程就是創建狀態,此時它已經有了相應的內存空間和其它資源,但是還沒有開始執行。

2、就緒狀態

新建線程對象后,調用該線程的 start()方法就可以啟動線程。當線程啟動時,線程進入就緒狀態(runnable)。由于還沒有分配CPU,線程將進入線程隊列排隊,等待 CPU 服務,這表明它已經具備了運行條件。當系統挑選一個等待執行的Thread對象后,它就會從等待執行狀態進入執行狀態。系統挑選的動作稱之為“CPU調度"。一旦獲得CPU線程就進入運行狀態并自動調用自己的run方法。

3、運行狀態

當就緒狀態的線程被調用并獲得處理器資源時,線程就進入了運行狀態。此時,自動調用該線程對象的 run()方法。 run()方法定義了該線程的操作和功能。運行狀態中的線程執行自己的run方法中代碼。直到調用其他方法或者發生阻塞而終止。

4、阻塞狀態

一個正在執行的線程在某些特殊情況下,如被人為掛起或需要執行耗時的輸入輸出操作時,將讓出 CPU 并暫時中止自己的執行,進入堵塞狀態。在可執行狀態下,如果調用 sleep()、 suspend()、 wait()等方法,線程都將進入堵塞狀態。堵塞時,線程不能進入排隊隊列,只有當引起堵塞的原因被消除后,線程轉入就緒狀態。重新到就緒隊列中排隊等待,這時被CPU調度選中后會從原來停止的位置開始繼續執行。

記?。鹤枞幌笫腔氐骄途w狀態,不是運行狀態。

5、死亡狀態

線程調用 stop()方法、destory()方法或 run()方法執行結束后,線程即處于死亡狀態。處于死亡狀態的線程不具有繼續運行的能力。

不推薦使用stop()方法【會產生異?!? destory()方法【destory是強制終止,不會釋放鎖】

上一篇: 什么是RDD

下一篇: 內存泄漏是什么

<
在線咨詢 ×

您好,請問有什么可以幫您?我們將竭誠提供最優質服務!

  • <strong id="6ngzx"><bdo id="6ngzx"><strong id="6ngzx"></strong></bdo></strong>

        <strong id="6ngzx"><bdo id="6ngzx"><strong id="6ngzx"></strong></bdo></strong>

        <menuitem id="6ngzx"><b id="6ngzx"></b></menuitem>
        <center id="6ngzx"><center id="6ngzx"></center></center><strong id="6ngzx"><bdo id="6ngzx"><strong id="6ngzx"></strong></bdo></strong>

        主站蜘蛛池模板: 安乡县| 东海县| 六盘水市| 延吉市| 巴楚县| 平安县| 合阳县| 龙口市| 收藏| 鄂托克前旗| 巧家县| 称多县| 蒙自县| 乌兰察布市| 平江县| 西城区| 乡城县| 滦平县| 阳谷县| 蓝山县| 大同市| 鲁甸县| 花莲市| 兴国县| 渝中区| 聂荣县| 丹凤县| 全州县| 濮阳县| 库伦旗| 张掖市| 平武县| 淮安市| 朔州市| 乌鲁木齐市| 黄梅县| 搜索| 车险| 石嘴山市| 黑河市| 通榆县|