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

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

什么是線程?

2019-11-18 14:27:36
字體:
來源:轉載
供稿:網友

  作者:Al Saganich

什么是線程?

究竟什么是線程呢?正如在圖A中所示,一個線程是給定的指令的序列 (你所編寫的代碼),一個棧(在給定的方法中定義的變量),以及一些共享數據(類一級的變量)。線程也可以從全局類中訪問靜態數據。


棧以及可能的一些共享數據



每個線程有其自己的堆棧和程序計數器(PC)。你可以把程序計數器(PC)設想為用于跟蹤線程正在執行的指令,而堆棧用于跟蹤線程的上下文,上下文是當線程執行到某處時,當前的局部變量的值。雖然你可以編寫出在線程之間傳送數據的子程序,在正常情況下,一個線程不能訪問另外一個線程的棧變量。

一個線程必須處于如下四種可能的狀態之一,這四種狀態為:

初始態:一個線程調用了new方法之后,并在調用start方法之前的所處狀態。在初始態中,可以調用start和stop方法。
Runnable:一旦線程調用了start 方法,線程就轉到Runnable 狀態,注重,假如線程處于Runnable狀態,它也有可能不在運行,這是因為還有優先級和調度問題。 阻塞/ NonRunnable:線程處于阻塞/NonRunnable狀態,這是由兩種可能性造成的:要么是因掛起而暫停的,要么是由于某些原因而阻塞的,例如包括等待IO請求的完成。 退出:線程轉到退出狀態,這有兩種可能性,要么是run方法執行結束,要么是調用了stop方法。
最后一個概念就是線程的優先級,線程可以設定優先級,高優先級的線程可以安排在低優先級線程之前完成。一個應用程序可以通過使用線程中的方法setPRiority(int),來設置線程的優先級大小。
前面我們已經講述了線程的基本知識,現在我們可以來看看java為我們提供的用來開發基于線程的應用程序的兩種機制:線程類和Runnable 接口。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丰镇市| 界首市| 定日县| 新闻| 宝山区| 金溪县| 周宁县| 龙井市| 元江| 旌德县| 宁远县| 宁陕县| 南京市| 高唐县| 巨野县| 响水县| 合江县| 西充县| 邹城市| 厦门市| 丹东市| 黔南| 敦煌市| 佛冈县| 桐乡市| 河西区| 綦江县| 北票市| 礼泉县| 三门县| 阜宁县| 红安县| 乌鲁木齐县| 浦县| 合水县| 中西区| 嘉义市| 隆子县| 仁化县| 确山县| 小金县|