select,poll和epoll有什么區別

它們都是NIO中多路復用的三種實現機制,是由linux操作系統提供的。

用戶空間和內核空間:操作系統為了保證系統安全,將內核分為兩個部分,一個是用戶空間,一個是內核空間。用戶空間不能直接訪問底層的硬件設備,必須通過內核空間。

文件描述符(File Description FD):是一個抽象的概念,形式上是一個整數,實際是一個索引值,指向內核中每個進程維護進程所打開文件的記錄表。當程序打開一個文件或者創建一個文件時,內核會向進程返回一個FD,主要在unix和linux系統中。

select機制

會維護一個FD的集合fd_set。將fd_set從用戶空間復制到內核空間。激活socket。fd_set是一個數組,并且受到操作系統的限制。

poll機制

將fd_set結構進行了優化。FD集合的大小就突破了操作系統的限制。使用poll_fd結構來代替fd_set。通過鏈表實現。

EPoll

Event Poll不再掃描所有的fd,只將用戶關心的FD事件放到內核的事件表當中。這樣,可以減少用戶空間和內核空間之間需要拷貝的數據。

在這里插入圖片描述

java中的NIO用的是哪種機制

可以查看DefaultSelectProvider源碼。在windows下,使用的是WindowsSelectorProvider。而在linux下,會根據Linux的內核版本控制,2.6版本以上使用的是EpollSelectProvider,否則就是默認的PollSelectorProvider。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/713469.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/713469.shtml
英文地址,請注明出處:http://en.pswp.cn/news/713469.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

IT廉連看——Uniapp——配置文件pages

IT廉連看——Uniapp——配置文件pages [IT廉連看] 本堂課主要為大家介紹pages.json這個配置文件 一、打開官網查看pages.json可以配置哪些屬性。 下面邊寫邊講解 新建一個home頁面理解一下這句話。 以下一些頁面的通用配置 通用設置里我們可以對導航欄和狀態欄進行一些設…

Android修行手冊-集成Python開發環境

Unity3D特效百例案例項目實戰源碼Android-Unity實戰問題匯總游戲腳本-輔助自動化Android控件全解手冊再戰Android系列Scratch編程案例軟考全系列Unity3D學習專欄藍橋系列ChatGPT和AIGC 👉關于作者 專注于Android/Unity和各種游戲開發技巧,以及各種資源分…

Debezium發布歷史161

原文地址: https://debezium.io/blog/2023/09/13/debezium-2-4-beta2-released/ 歡迎關注留言,我是收集整理小能手,工具翻譯,僅供參考,筆芯筆芯. Debezium 2.4.0.Beta2 Released September 13, 2023 by Chris Cranfo…

Apache Flink連載(三十五):Flink基于Kubernetes部署(5)-Kubernetes 集群搭建-1

?? 個人主頁:IT貧道-CSDN博客 ?? 私聊博主:私聊博主加WX好友,獲取更多資料哦~ ?? 博主個人B棧地址:豹哥教你學編程的個人空間-豹哥教你學編程個人主頁-嗶哩嗶哩視頻 目錄 ?編輯

Python爬蟲——Urllib庫-2

編解碼 問題引入 例如: https://www.baidu.com/s?wd章若楠 https://www.baidu.com/s?wd%E7%AB%A0%E8%8B%A5%E6%A5%A0 第二部分的一串亂碼就是章若楠 如果這里是寫的章若楠就會 產生這樣的錯誤 所以我們就可以使用get請求方式的quote方法了 get請求方式的q…

laravel ApiResponse接口統一響應封裝

一&#xff0c;新增接口返回碼配置文件 在config中新增配置文件apicode.php <?phpreturn [ apicodes>[/*** Message("OK")* 對成功的 GET、PUT、PATCH 或 DELETE 操作進行響應。也可以被用在不創建新資源的 POST 操作上*/HTTP_OK > 200,/*** Message(&qu…

使用el-form之表單校驗自動定位到報錯位置問題,,提升用戶體驗

需求描述 由于需要填寫的表單項太多&#xff0c;提交的時候校驗不通過&#xff0c; 如果沒填寫的表單項在最上面&#xff0c;用戶看不到不知道發生了啥&#xff0c; 所以需要將頁面滾動定位到第一個報錯的表單項位置&#xff0c;提升用戶體驗實現步驟 1. 給form表單添加ref …

數據中心GPU集群高性能組網技術分析

數據中心GPU集群組網技術是指將多個GPU設備連接在一起&#xff0c;形成一個高性能計算的集群系統。通過集群組網技術&#xff0c;可以實現多個GPU設備之間的協同計算&#xff0c;提供更大規模的計算能力&#xff0c;適用于需要大規模并行計算的應用場景。 常用的組網技術&…

1209. 帶分數 刷題筆記

思路 暴力匹配 讀入目標數 n 看n是否與ab/c相等 因為c里面的除法是整除 我們將 nab/c 轉換為 c*na*cb 那么如何獲得a,b&#xff0c;c 依題意 a&#xff0c;b&#xff0c;c三個數由1-9九個數字組成 且每個數字只能出現一次 由此 我們可以搜出123456789的全部排列方式…

我做的app上架應用市場一天,快破400下載量,0差評

上集說到&#xff0c;我做了一個叫QB音樂的安卓app&#xff0c;經過一段時間的自我使用與測試終于算發布了。我昨天順便把它上架了奇妙應用市場&#xff0c;截止目前3月1號過去了一天&#xff0c;下載量快到400&#xff0c;0差評。看來還是能正常使用的。 一、為什么做這個ap…

CleanMyMac X2024免費Mac電腦清理和優化工具

CleanMyMac X是一款專業的 Mac 清理和優化工具&#xff0c;它具備一系列強大的功能&#xff0c;可以幫助用戶輕松管理和維護他們的 Mac 電腦。以下是一些關于 CleanMyMac X 的主要功能和特點&#xff1a; 智能清理&#xff1a;CleanMyMac X 能夠智能識別并清理 Mac 上的無用文件…

深入剖析k8s-Pod篇

為什么需要Pod&#xff1f; 進程是以進程組的方式組織在一起。受限制容器的“單進程模型”&#xff0c; 成組調用沒有被妥善處理&#xff08;資源調用有限&#xff09;&#xff0c;使用資源囤積則導致復雜度上升。 在k8s項目中&#xff0c;Pod的實現需要使用一個中間容器——…

css【詳解】—— 圣杯布局 vs 雙飛翼布局 (含手寫清除浮動 clearfix)

兩者功能效果相同&#xff0c;實現方式不同 效果預覽 兩側寬度固定&#xff0c;中間寬度自適應&#xff08;三欄布局&#xff09;中間部分優先渲染允許三列中的任意一列成為最高列 圣杯布局 通過左右欄填充容器的左右 padding 實現&#xff0c;更多細節詳見注釋。 <!DOCTYP…

《無線網絡技術》考試版筆記

第一章 無線網絡介紹 什么是多徑效應&#xff0c;如何去克服&#xff1a; 在發射機和接收機之間沒有明顯的直線路徑時&#xff0c;就會產生多徑傳播。如果兩個信號彼此疊加&#xff0c;那么接收設備就無法正確解調信號&#xff0c;無法還原為它的原始數據形式。 可以稍微調整接…

【leetcode熱題】求根到葉子節點數字之和

難度&#xff1a; 中等通過率&#xff1a; 40.6%題目鏈接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 題目描述 給定一個二叉樹&#xff0c;它的每個結點都存放一個 0-9 的數字&#xff0c;每條從根到葉子節點的路徑都代表一個數字。 例如&#xff0c;從根到葉子…

Linux包管理dpkg、apt和snap

dpkg、apt和snap都是Ubuntu系統中用于軟件管理的工具&#xff0c;但它們在功能和使用上有一些區別。 dpkg: dpkg是Debian包管理系統的底層工具&#xff0c;也是apt和其他高級包管理工具的基礎。主要功能是用于安裝、卸載、配置和構建Debian軟件包&#xff08;.deb文件&#xff…

vue面試題:Computed 和 Watch 的區別?

Computed 和 Watch 的區別? 對于Computed&#xff1a;對于Watch&#xff1a;immediate&#xff1a;組件加載立即觸發回調函數deep&#xff1a;深度監聽&#xff0c;發現數據內部的變化&#xff0c;在復雜數據類型中使用&#xff0c;例如數組中的對象發生變化。需要注意的是&am…

USLE模型-LS因子的計算

目錄 計算坡度計算填洼計算流向計算水流長度計算水平投影![在這里插入圖片描述](https://img-blog.csdnimg.cn/direct/75e015b2d6874ce9b6652f2b8730b90f.png)計算可變的坡度指數m計算坡長因子L計算坡度因子S計算LS因子參考視頻 計算坡度 準備好30米分辨率的dem 計算填洼 計…

速看!深夜悄悄分享一個電力優化代碼集合包!

代碼集合包如下&#xff1a; 主從博弈的智能小區定價策略及電動汽車調度策略 碳交易機制下的綜合能源優化調度 兩階段魯棒優化算法的微網多電源容量配置 冷熱電多能互補綜合能源系統優化調度 考慮預測不確定性的綜合能源調度優化 考慮柔性負荷的綜合能源系統低碳經濟優化調度 考…

MySQL深入——24

Join語句到底可不可用 join語句用于兩個或多個表當中檢索數據。 INNER JOIN或者JOIN 當兩個表當中有匹配的值時&#xff0c;返回行 LEFT JOIN或者LEFT OUTER JOIN 返回所有左邊的行&#xff0c;即使右表當中沒有相匹配的行 RIGHT JOIN或者RIGHT OUTER JOIN 返回所有右邊的…