精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Java 線程和操作系統的線程有啥區別?

開發 后端
關于內核態和用戶態我們在 了解操作系統的那些事兒,從這篇文章開始 這篇文章中已經詳細介紹過,這里不再過多贅述。

 [[393949]]

本文轉載自微信公眾號「飛天小牛肉」,作者飛天小牛肉。轉載本文請聯系飛天小牛肉公眾號。

不想看解釋的小伙伴可直接翻到文末尋找答案。

1. 用戶空間和內核空間

關于內核態和用戶態我們在 了解操作系統的那些事兒,從這篇文章開始 這篇文章中已經詳細介紹過,這里不再過多贅述。

至于什么是系統空間和用戶空間也非常好理解:在操作系統中,內存通常會被分成用戶空間(User space)與內核空間(Kernel space)這兩個部分。當進程/線程運行在用戶空間時就處于用戶態,運行在內核空間時就處于內核態:

  • 運行在內核態的程序可以訪問用戶空間和內核空間,或者說它可以訪問計算機的任何資源,不受限制,為所欲為,例如協調 CPU 資源,分配內存資源,提供穩定的環境供應用程序運行等
  • 而應用程序基本都是運行在用戶態的,或者說用戶態就是提供應用程序運行的空間。運行在用戶態的程序只能訪問用戶空間

那為什么要區分用戶態和內核態呢?

其實早期操作系統是不區分用戶態和內核態的,也就是說應用程序可以訪問任意內存空間,如果程序不穩定常常會讓系統崩潰,比如清除了操作系統的內存數據。為此大佬們設計出了一套規則:對于那些比較危險的操作需要切到內核態才能運行,比如 CPU、內存、設備等資源管理器程序就應該在內核態運行,否則安全性沒有保證。

舉個例子,對于文件系統和數據來說,文件系統數據和管理就必須放在內核態,但是用戶的數據和管理可以放在用戶態。

用戶態的程序不能隨意操作內核地址空間,這樣有效地防止了操作系統程序受到應用程序的侵害。

那如果處于用戶態的程序想要訪問內核空間的話怎么辦呢?就需要進行系統調用從用戶態切換到內核態。

2. 操作系統線程

① 在用戶空間中實現線程

在早期的操作系統中,所有的線程都是在用戶空間下實現的,操作系統只能看到線程所屬的進程,而不能看到線程。

從我們開發者的角度來理解用戶級線程就是說:在這種模型下,我們需要自己定義線程的數據結構、創建、銷毀、調度和維護等,這些線程運行在操作系統的某個進程內,然后操作系統直接對進程進行調度。

這種方式的好處一目了然,首先第一點,就是即使操作系統原生不支持線程,我們也可以通過庫函數來支持線程;第二點,線程的調度只發生在用戶態,避免了操作系統從內核態到用戶態的轉換開銷。

當然缺點也很明顯:由于操作系統看不見線程,不知道線程的存在,而 CPU 的時間片切換是以進程為維度的,所以如果進程中某個線程進行了耗時比較長的操作,那么由于用戶空間中沒有時鐘中斷機制,就會導致此進程中的其它線程因為得不到 CPU 資源而長時間的持續等待;另外,如果某個線程進行系統調用時比如缺頁中斷而導致了線程阻塞,此時操作系統也會阻塞住整個進程,即使這個進程中其它線程還在工作。

② 在內核空間中實現線程

所謂內核級線程就是運行在內核空間的線程, 直接由內核負責,只能由內核來完成線程的調度。

幾乎所有的現代操作系統,包括 Windows、Linux、Mac OS X 和 Solaris 等,都支持內核線程。

每個內核線程可以視為內核的一個分身,這樣操作系統就有能力同時處理多件事情,支持多線程的內核就叫做多線程內核(Multi-Threads Kernel)。

從我們開發者的角度來理解內核級線程就是說:我們可以直接使用操作系統中已經內置好的線程,線程的創建、銷毀、調度和維護等,都是直接由操作系統的內核來實現,我們只需要使用系統調用就好了,不需要像用戶級線程那樣自己設計線程調度等。

上圖畫的是 1:1 的線程模型,所謂線程模型,也就是用戶線程和內核線程之間的關聯方式,線程模型當然不止 1:1 這一種,下面我們來詳細解釋以下這三種多線程模型:

下文翻譯自 https://www.cs.uic.edu/~jbell/CourseNotes/OperatingSystems/4_Threads.html

1)多對一線程模型:

  • 在多對一模型中,多個用戶級線程映射到某一個內核線程上
  • 線程管理由用戶空間中的線程庫處理,這非常有效
  • 但是,如果進行了阻塞系統調用,那么即使其他用戶線程能夠繼續,整個進程也會阻塞
  • 由于單個內核線程只能在單個 CPU 上運行,因此多對一模型不允許在多個 CPU 之間拆分單個進程

從并發性角度來總結下,雖然多對一模型允許開發人員創建任意多的用戶線程,但是由于內核只能一次調度一個線程,所以并未增加并發性。現在已經幾乎沒有操作系統來使用這個模型了,因為它無法利用多個處理核。

2)一對一線程模型:

  • 一對一模型克服了多對一模型的問題
  • 一對一模型創建一個單獨的內核線程來處理每個用戶線程
  • 但是,管理一對一模型的開銷更大,涉及更多開銷和減慢系統速度
  • 此模型的大多數實現都限制了可以創建的線程數

從并發性角度來總結下,雖然一對一模型提供了更大的并發性,但是開發人員應注意不要在應用程序內創建太多線程(有時系統可能會限制創建線程的數量),因為管理一對一模型的開銷更大。Windows (從 Win95 開始) 和 Linux 都實現了線程的一對一模型。

3)多對多線程模型:

  • 多對多模型將任意數量的用戶線程復用到相同或更少數量的內核線程上,結合了一對一和多對一模型的最佳特性
  • 用戶對創建的線程數沒有限制
  • 阻止內核系統調用不會阻止整個進程
  • 進程可以分布在多個處理器上
  • 可以為各個進程分配可變數量的內核線程,具體取決于存在的 CPU 數量和其他因素

3. Java 線程

在進入 Java 線程主題之前,有必要講解一下線程庫 Thread library 的概念。

在上面的模型介紹中,我們提到了通過線程庫來創建、管理線程,那么什么是線程庫呢?

線程庫就是為開發人員提供創建和管理線程的一套 API。

當然,線程庫不僅可以在用戶空間中實現,還可以在內核空間中實現。前者涉及僅在用戶空間內實現的 API 函數,沒有內核支持。后者涉及系統調用,也就是說調用庫中的一個 API 函數將會導致對內核的系統調用,并且需要具有線程庫支持的內核。

下面簡單介紹下三個主要的線程庫:

1)POSIX Pthreads:可以作為用戶或內核庫提供,作為 POSIX 標準的擴展

2)Win32 線程:用于 Window 操作系統的內核級線程庫

3)Java 線程:Java 線程 API 通常采用宿主系統的線程庫來實現,也就是說在 Win 系統上,Java 線程 API 通常采用 Win API 來實現,在 UNIX 類系統上,采用 Pthread 來實現。

下面我們來詳細講解 Java 線程:

事實上,在 JDK 1.2 之前,Java 線程是基于稱為 "綠色線程"(Green Threads)的用戶級線程實現的,也就是說程序員大佬們為 JVM 開發了自己的一套線程庫或者說線程管理機制。

而在 JDK 1.2 及以后,JVM 選擇了更加穩定且方便使用的操作系統原生的內核級線程,通過系統調用,將線程的調度交給了操作系統內核。而對于不同的操作系統來說,它們本身的設計思路基本上是完全不一樣的,因此它們各自對于線程的設計也存在種種差異,所以 JVM 中明確聲明了:虛擬機中的線程狀態,不反應任何操作系統中的線程狀態。

也就是說,在 JDK 1.2 及之后的版本中,Java 的線程很大程度上依賴于操作系統采用什么樣的線程模型,這點在不同的平臺上沒有辦法達成一致,JVM 規范中也并未限定 Java 線程需要使用哪種線程模型來實現,可能是一對一,也可能是多對多或多對一。

總結來說,回答下文題,現今 Java 中線程的本質,其實就是操作系統中的線程,其線程庫和線程模型很大程度上依賴于操作系統(宿主系統)的具體實現,比如在 Windows 中 Java 就是基于 Wind32 線程庫來管理線程,且 Windows 采用的是一對一的線程模型。

References

Operating Systems - Threads:https://www.cs.uic.edu/~jbell/CourseNotes/OperatingSystems/4_Threads.html

Java 線程和操作系統線程的關系:https://blog.csdn.net/CringKong/article/details/79994511?utm_medium

 

責任編輯:武曉燕 來源: 飛天小牛肉
相關推薦

2021-08-12 14:49:44

操作系統線程進程

2012-05-04 09:49:34

進程

2021-01-15 07:23:09

Java線程操作系統

2009-12-02 14:50:28

操作系統

2019-08-08 09:39:02

LinuxWindows操作系統

2009-06-23 18:56:51

2021-05-06 08:11:03

Java用戶線程守護線程

2022-01-07 17:28:07

操作系統IO 內存

2022-02-08 07:02:32

進程線程操作系統

2022-03-16 07:33:40

守護線程用戶線程語言

2024-01-02 08:21:00

LinuxUbuntu操作系統

2021-06-17 08:19:37

操作系統OS Kernel

2011-07-25 15:17:10

iPhone 操作隊列 Java

2023-10-12 07:35:45

面試線程通信

2010-03-16 17:16:38

Java多線程

2020-07-28 07:59:21

線程池SubmitExecute

2021-09-11 15:26:23

Java多線程線程池

2010-04-29 14:08:38

Unix操作系統

2022-01-17 10:07:05

PodmanDocker容器

2011-08-19 17:36:42

iPhone操作隊列Java
點贊
收藏

51CTO技術棧公眾號

91精品一区二区三区蜜桃| 日韩黄色片视频| 丰满少妇被猛烈进入| 亚洲免费网址| 在线播放国产一区二区三区| 九九九九九九九九| freexxx性亚洲精品| 久久精品视频一区二区| 亚洲iv一区二区三区| 黄色小说在线观看视频| 日韩理论电影| 亚洲国产精品va在看黑人| 老熟妇仑乱视频一区二区| av网址在线看| 国产视频视频一区| 国产精品美女久久久久av福利| 久久精品视频2| 韩国在线一区| 久久激情视频久久| 中国美女乱淫免费看视频| 精品国产亚洲一区二区三区在线 | 免费欧美日韩国产三级电影| 久久综合久久八八| 精品无码国产污污污免费网站| 秋霞一区二区三区| 欧美日韩第一区日日骚| 欧美日韩国产精品激情在线播放| 18av在线视频| 欧美高清在线一区| 精品一区二区国产| 国产夫妻在线观看| 久久精品72免费观看| 欧美性一区二区三区| 欧美日韩国产精品一区二区三区| 成人在线亚洲| 国产亚洲激情在线| 中文人妻一区二区三区| 高清精品xnxxcom| 91精品国产91久久综合桃花 | 亚洲天天在线日亚洲洲精| 极品白嫩的小少妇| 不卡的国产精品| 欧美色爱综合网| 日本爱爱免费视频| 精品3atv在线视频| 欧美日韩亚洲精品内裤| 国产毛片视频网站| av资源中文在线| 午夜一区二区三区在线观看| www.欧美黄色| 精精国产xxxx视频在线中文版 | 性生活免费观看视频| 在线视频91p| 国产精品福利电影一区二区三区四区| 日本一区免费在线观看| 九色视频成人自拍| 欧美国产视频在线| 色姑娘综合网| 秋霞午夜在线观看| 1024精品合集| 老司机av福利| 亚洲国产精品精华素| 亚洲精品免费在线播放| 一区二区三区av在线| 老司机在线视频二区| 亚洲欧美色一区| 人妻互换免费中文字幕| mm视频在线视频| 色综合天天综合给合国产| 日日碰狠狠躁久久躁婷婷| 日韩在线影院| 欧美乱妇20p| 亚洲国产日韩在线一区| 精品国产午夜肉伦伦影院| 亚洲第一男人av| 国产色视频一区二区三区qq号| 国产探花在线精品| 久久午夜a级毛片| 日本一区二区三区免费视频| 亚洲一区欧美激情| 国产伦精品免费视频| 国产精品久久久久久69| 岛国精品在线播放| 日本一区二区精品| 在线看女人毛片| 天天亚洲美女在线视频| 污视频免费在线观看网站| 国产精品成人3p一区二区三区 | 成人a视频在线观看| 国产999久久久| 91偷拍与自偷拍精品| 亚洲综合视频一区| 欧美xxxx少妇| 欧美亚州韩日在线看免费版国语版| 九色porny自拍| 盗摄牛牛av影视一区二区| 亚洲人成在线观看网站高清| 九九这里只有精品视频| 好看不卡的中文字幕| 国产精品99久久久久久www| 99精品免费观看| www久久久久| 免费看污污视频| 日韩影片中文字幕| 欧美电影精品一区二区| av网站免费在线看| 亚洲黄色高清| 成人自拍性视频| 国产在线网站| 亚洲成人资源网| 日本77777| 美女网站一区| 午夜精品久久久99热福利| 亚洲一区二区色| 久久久五月婷婷| 玩弄中年熟妇正在播放| 国产精品一站二站| 在线观看中文字幕亚洲| 日韩特黄一级片| 国产高清在线观看免费不卡| 亚洲欧美日产图| 婷婷激情一区| 亚洲精品国精品久久99热| 草视频在线观看| 久久99精品久久久久婷婷| 日韩jizzz| 亚洲小少妇裸体bbw| 精品福利在线导航| 欧美黑吊大战白妞| 黄色日韩网站视频| 永久久久久久| 成人精品国产| 在线日韩精品视频| 超碰在线免费97| 久久久久国产成人精品亚洲午夜| 91免费黄视频| 豆花视频一区二区| 欧美激情中文字幕在线| 国产99对白在线播放| 亚洲欧洲中文日韩久久av乱码| 中文字幕av不卡在线| 精品视频免费在线观看| 日韩免费在线观看视频| 免费在线观看一级毛片| 欧美日韩在线视频首页| 国产精品无码专区| 在线综合欧美| 欧美性xxxx69| 欧美韩国亚洲| 中文字幕无线精品亚洲乱码一区| 69av视频在线观看| 亚洲国产精品激情在线观看| 五月婷婷六月合| 久久大综合网| 亚洲一区亚洲二区| 少女频道在线观看高清| 日韩精品在线一区| 男人天堂中文字幕| 99国产精品久久久久久久久久| 亚欧无线一线二线三线区别| 亚洲综合小说图片| 国产精品免费在线免费| 黄色在线免费| 欧美mv和日韩mv国产网站| 日本a在线观看| 久久久www免费人成精品| 人妻丰满熟妇av无码区app| 成人精品天堂一区二区三区| 国产精品永久免费视频| 黄网页在线观看| 亚洲国产精品久久久久久| 日产欧产va高清| 久久老女人爱爱| 手机看片一级片| 欧美日韩国产一区精品一区| 九九九九九精品| 欧美色999| 免费成人高清视频| 亚欧洲精品视频| 欧美精品自拍偷拍| 伊人365影院| 国产亚洲精久久久久久| 欧美视频国产视频| 在线亚洲国产精品网站| 亚洲一区二区四区| 另类春色校园亚洲| 国产精品自产拍在线观看| 青青草原国产在线| 中文国产亚洲喷潮| 男人天堂综合网| 欧美体内she精视频| 精品无码久久久久久久久| 国产日韩视频一区二区三区| 人妻激情偷乱视频一区二区三区| 国产精品久久久久9999高清| 7777在线视频| 九九热爱视频精品视频| 亚洲影院高清在线| 欧美亚洲韩国| 欧美激情在线有限公司| 日本在线免费中文字幕| 精品久久久久久亚洲综合网| 国产乱码在线观看| 五月天激情小说综合| √天堂中文官网8在线| 久久亚洲一级片| 师生出轨h灌满了1v1| 麻豆国产精品官网| 免费无码av片在线观看| 欧美日韩一区二区高清| 亚洲一区二区在线免费观看| 亚洲精品456| 国产精华一区二区三区| 天堂综合在线播放| 国产成人精品久久| 女人高潮被爽到呻吟在线观看| 久久精品国产亚洲一区二区| 巨骚激情综合| 亚洲国产日韩欧美在线图片| 99精品视频在线播放免费| 欧美日韩精品三区| 最近免费中文字幕大全免费版视频| 夜色激情一区二区| 国产成人综合在线视频| 国产精品久久久久四虎| av男人的天堂av| 久久影院视频免费| 中文字幕 日本| 国产91丝袜在线播放| 亚洲精品在线视频播放| 久久精品国产成人一区二区三区 | 亚洲高清一二三区| 国产av精国产传媒| 日韩一区二区三区四区五区六区| 艳妇乳肉豪妇荡乳av| 欧美日韩免费观看一区二区三区 | 欧美一区国产一区| 天天操综合520| 好吊色欧美一区二区三区四区 | 精品日本一区二区三区在线观看| 伊人久久大香线蕉av超碰| 亚洲一区制服诱惑| 国产精品2区| 亚洲综合小说区| 日韩精品一区二区三区中文| 5g影院天天爽成人免费下载| 国产一区二区三区精品在线观看| 成人午夜在线视频一区| 国产一区二区三区国产精品| 91九色在线观看| 88久久精品| 国产精品免费一区二区| 免费看成人人体视频| 欧美精品欧美精品系列c| 国产一区二区三区电影在线观看 | 国产盗摄在线观看| 欧美成人午夜免费视在线看片| 草莓福利社区在线| 欧美精品久久久久久久久久| 污污的网站在线免费观看| 久久久久久伊人| 极品在线视频| 日本道色综合久久影院| 精品成人免费一区二区在线播放| 国产精品日韩专区| 国产情侣一区在线| 国产欧美韩日| 深爱激情综合网| 伊人天天久久大香线蕉av色| 欧美精品99| 国产aaa一级片| 毛片基地黄久久久久久天堂| 男插女视频网站| 99这里只有久久精品视频| 波多野吉衣中文字幕| 国产精品成人一区二区三区夜夜夜| 永久免费看黄网站| 欧美日韩一区二区在线播放| 91麻豆国产视频| 亚洲精品一区二区三区福利 | 88久久精品| 日本a级片久久久| 伊人久久大香线| 日本少妇高潮喷水视频| 麻豆久久久久久久| 日本久久久久久久久久| 久久婷婷国产综合国色天香| 999精品在线视频| 五月婷婷另类国产| 中文字幕一区二区三区人妻四季| 欧美大片在线观看一区二区| 精品乱码一区二区三四区视频 | 欧美三级免费看| 日韩欧美999| 精品人妻少妇嫩草av无码专区| 亚洲精品一区中文字幕乱码| 黄网站在线免费看| 国产激情视频一区| 91精品国产自产精品男人的天堂| 欧美一区二区三区成人久久片| 中文字幕一区二区三区乱码图片| 大肉大捧一进一出好爽视频| 国产一区欧美二区| 亚洲av成人无码久久精品| 亚洲午夜一二三区视频| 中文字幕一区二区三区人妻四季 | 日韩视频免费直播| 狠狠狠综合7777久夜色撩人| 欧美福利小视频| 美女色狠狠久久| 久久国产精品一区二区三区四区| 91日韩视频| 日本888xxxx| 91网页版在线| 国产无遮挡又黄又爽在线观看| 555夜色666亚洲国产免| 国产精品一级伦理| 97精品国产97久久久久久免费| 99久久99九九99九九九| 日韩精品欧美专区| 嫩草成人www欧美| 中国特级黄色大片| 亚洲黄色免费电影| 91久久国语露脸精品国产高跟| 亚洲欧洲偷拍精品| 日韩电影免费看| 国产专区一区二区| 欧美日韩免费| 五月天六月丁香| 综合久久久久久| 一级爱爱免费视频| 这里只有精品丝袜| 草莓视频成人appios| 欧美日韩在线高清| 蜜乳av另类精品一区二区| 亚洲精品在线视频免费观看| 亚洲午夜一区二区三区| 午夜精品久久久久久久爽| 久久综合伊人77777| 亚洲一区导航| 色香蕉在线观看| 国产一区二三区好的| 国产稀缺精品盗摄盗拍| 欧美精品v国产精品v日韩精品| 暖暖日本在线观看| 成人乱人伦精品视频在线观看| 99久久婷婷| 成人免费黄色av| 综合欧美一区二区三区| 99热这里只有精品在线| 九九热精品视频国产| 爱高潮www亚洲精品| 国产免费黄色小视频| 99精品国产热久久91蜜凸| 中文字幕国产在线观看| 亚洲欧美在线免费观看| 91天天综合| 最新欧美日韩亚洲| 国产精品456| 国产午夜福利精品| 亚洲欧美日韩天堂| 成人国产一区| 亚洲色图都市激情| 99视频国产精品| 高潮毛片又色又爽免费 | 精品区一区二区| 538在线视频| 欧美日韩在线精品一区二区三区| 日韩经典一区二区| 日韩三级久久久| 欧美精品一区二区三区在线 | 欧美日韩mp4| 日本性爱视频在线观看| 久久精品一区二区三区不卡免费视频| 久久一本综合频道| 欧美性x x x| 亚洲精品国产成人| 国产美女久久| 国产 国语对白 露脸| 91亚洲精品一区二区乱码| 国产天堂第一区| 九九热最新视频//这里只有精品| 国内毛片久久| 91极品视频在线观看| 亚洲一区二区三区四区不卡| 久久精品蜜桃| 7777奇米亚洲综合久久| 99成人精品| sm捆绑调教视频| 亚洲国产精品资源| 亚洲伊人精品酒店| 久久久亚洲精品无码| 亚洲丝袜另类动漫二区| 五月婷婷激情在线| 成人亚洲综合色就1024| 国产亚洲成人一区| 婷婷在线精品视频| 亚洲午夜色婷婷在线| 哺乳挤奶一区二区三区免费看| 欧美日韩在线免费播放|