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

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

線程的理解

2019-11-18 12:23:15
字體:
來源:轉載
供稿:網友

  在java技術中,線程通常是搶占式的而不需要時間片分配進程(分配給每個線程相等的cpu時間的進程)。一個經常犯的錯誤是認為“搶占”就是“分配時間片”。
  在Solaris平臺上的運行環境中,相同優先級的線程不能相互搶占對方的cpu時間。但是,在使用時間片的windows平臺運行環境中,可以搶占相同甚至更高優先級的線程的cpu時間。搶占并不是絕對的,可是大多數的JVM的實現結果在行為上表現出了嚴格的搶占。縱觀JVM的實現,并沒有絕對的搶占或是時間片,而是依靠于編碼者對wait和sleep這兩個方法的使用。
  搶占式調度模型就是許多線程屬于可以運行狀態(等待狀態),但實際上只有一個線程在運行。該線程一直運行到它終止進入可運行狀態(等待狀態)或是另一個具有更高優先級的線程變成可運行狀態。在后一種情況下,底優先級的線程被高優先級的線程搶占,高優先級的線程獲得運行的機會。
  線程可以因為各種各樣的原因終止并進入可運行狀態(因為堵塞)。例如,線程的代碼可以在適當時候執行Thread.sleep()方法,故意讓線程中止;線程可能為了訪問資源而不得不等待直到該資源可用為止。
  所有可運行的線程根據優先級保持在不同的池中。一旦被堵塞的線程進入可運行狀態,它將會被放回適當的可運行池中。非空最高優先級的池中的線程將獲得cpu時間。
  最后一個句子是不精確的,因為:
  (1)在大多數的JVM實現中,雖然不能保證說優先級有任何意義,但優先級看起來象是用搶占方式工作。
  (2)微軟windows的評價影響線程的行為,以至盡管一個處于可運行狀態的優先級為5的java線程正在等待cpu時間,但是一個優先級為4的java線程卻可能正在運行。
  實際上,許多JVM用隊列來實現池,但沒有保證行為。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宝丰县| 英吉沙县| 百色市| 郓城县| 泾源县| 中方县| 西充县| 中江县| 印江| 榆中县| 万宁市| 呼伦贝尔市| 大冶市| 偃师市| 右玉县| 祁东县| 宜都市| 巢湖市| 沙雅县| 卓尼县| 昭苏县| 德令哈市| 老河口市| 新竹县| 肃南| 仲巴县| 泾源县| 陆良县| 茌平县| 历史| 竹北市| 习水县| 财经| 高邮市| 武城县| 辽阳市| 东兰县| 望城县| 秦安县| 冷水江市| 广宗县|