ACE前攝器Proactor

轉載的,已經找不到原文地址了

Proactor是異步模式的網絡處理器,ACE中叫做“前攝器”。
??? 先講幾個概念:
??? 前攝器(Proactor)-異步的事件多路分離器、處理器,是核心處理類。啟動后由3個線程組成(你不需要關心這三個線程,我只是讓你知道一下有這回事存在)。
??? 接受器(Acceptor)-用于服務端,監聽在一個端口上,接受用戶的請求。
??? 連接器(Connector)-用于客戶端,去連接遠程的監聽。當然,如果遠程是ACE寫的,就是Acceptor。
??? 異步模式-即非阻塞模式。網絡的傳輸速度一般來講為10Mbps、100Mbps、1000Mbps。拿千兆網來說,實際的傳輸速度為1000Mbps/8大概為128KB左右。我們的CPU一般為P4 3.0GHZ,如果是32位的處理器,一秒鐘大概可以處理6G的字節,那么,128KB的網絡速度是遠遠及不上處理器的速度的。網絡發送數據是一位一位發送出去的,如果CPU等在這里,發送完成函數才結束,那么,處理器浪費了大量時間在網絡傳輸上。
??? 操作系統提供了異步的模式來傳輸網絡數據,工作模式即:應用程序把要發送的數據交給操作系統,操作系統把數據放在系統緩沖區后就告訴應用程序OK了,我幫你發,應用程序該干嘛干嘛去。操作系統發送完成后,會給應用系統一個回執,告訴應用程序:剛才那個包發送完成了!
?? 舉個例子:你有幾封郵件和包裹要發,最有效率的辦法是什么?你把郵件和包裹及交給總臺,總臺MM說,好了,你幫你發,你忙去吧!然后你去工作了。過了一會,總臺MM打電話告訴你:“剛才我叫快遞公司的人來了,把你的包裹發出去了。郵局的人也來了,取走了郵件,放心好了”。同樣,如果你知道今天會有包裹來,比如你在淘寶上購物了,你能成天等在總臺?你應該告訴總臺MM:“今天可能有我的一個快遞,你幫我收一下,晚上請你肯德基!”。MM:“看在肯得基的面子上,幫你收了”。某個時間,MM打電話來了:“帥哥,你的包裹到了,我幫你簽收了,快來拿吧。”
?? 因為操作系統是很有效率的,所有,他在后臺收發是很快的。應用程序也很簡單。Proactor就是這種異步模式的。Proactor就是總臺MM;ACE_Service_Handle就是總臺代為收發郵件的公司流程。

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

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

相關文章

csv文件添加文件內容和讀取

append content to file import numpy as np acc_listnp.array([0.97,0.92,0.93,0.89]) # 注意這個地方添加文件不需要特別聲明是什么文件 file open("result.csv", "a") print("{:.2f}, {:.2f}".format(acc_list.mean(), acc_list.std()), f…

【JavaEE】Spring小練習——存儲和獲取對象

一、題目: 在 Spring 項目中,通過 main 方法獲取到 Controller 類,調用 Controller 里面通過注入的方式調用Service 類,Service 再通過注入的方式獲取到 Repository 類,Repository 類里面有一個方法構建?個 User 對象…

YOLO目標檢測——垃圾檢測數據集下載分享【含對應voc、coco和yolo三種格式標簽】

實際項目應用:智能化垃圾分類系統、垃圾回收和處理領域的優化管理等方面數據集說明:垃圾分類檢測數據集,真實場景的高質量圖片數據,數據場景豐富,含報紙、蛋殼、礦泉水瓶、電池、拉鏈頂罐、塑料餐盒、紙質藥盒、香蕉皮…

kubernetesr進階--Security Context之Security Context概述

提起 Security Context ,估計大家都很陌生,那么現在讓我帶大家走進 Security Context的世界。 Security Context(安全上下文)用來限制容器對宿主節點的可訪問范圍,以避免容器非法操作宿主節點的系統級別的內容&#x…

SpringMVC(一)

1. SpringMVC簡介 1、什么是MVC MVC是一種軟件架構的思想,將軟件按照模型、視圖、控制器來劃分 M:Model,模型層,指工程中的JavaBean,作用是處理數據 JavaBean分為兩類: 一類稱為實體類Bean&#xff1a…

創新洞察|展望2030 – 企業數字化轉型的10大趨勢(阿里研究院)

企業是否一定要 數字化創新 轉型?究竟如何數字化轉型?難點和坑又是什么?阿里研究院副院長針對未來十年中國的數字化轉型提出十個方面需要關注的趨勢:1.大國優勢 2. 重構的消費者決策體系 3. 下一代數字原生企業 4. 所有企業都會成…

【python學習】中級篇-數據庫操作:SQLite

SQLite是一個輕量級的數據庫引擎,它可以嵌入到各種應用程序中。以下是SQLite的基本用法: 創建數據庫文件 import sqlite3# 連接到一個不存在的數據庫文件,如果文件不存在,將會自動創建一個新的數據庫文件 conn sqlite3.connect…

Vue樣式不生效 如何解決它

如果使用了scoped后,無法修改第三方UI組件庫組件的樣式,這里可以使用css深度作用選擇器,以作樣式修改。 在Vue項目中,經常需要使用如elementUI、vant、 iview等組件庫,都可能自定義一些樣式文件,但是有些樣式直接在組…

SQL LIKE 運算符:用法、示例和通配符解釋

SQL中的LIKE運算符用于在WHERE子句中搜索列中的指定模式。通常與LIKE運算符一起使用的有兩個通配符: 百分號 % 代表零個、一個或多個字符。下劃線 _ 代表一個單個字符。 以下是LIKE運算符的用法和示例: 示例 選擇所有以字母 “a” 開頭的客戶&#x…

Postman接口測試工具完整教程

前言 作為軟件開發過程中一個非常重要的環節,軟件測試越來越成為軟件開發商和用戶關注的焦點。完善的測試是軟件質量的保證,因此軟件測試就成了一項重要而艱巨的工作。要做好這項工作當然也絕非易事。 第一部分:基礎篇 postman:4.5.1 1.安…

【成功案例】7日ROI超65%!注冊率超85%!雷霆網絡 聯手 NetMarvel 實現效果翻倍增長!

雷霆網絡旗下多款角色扮演手游在國內長期霸占買量榜前列,而這股“買量大戶”的風依舊吹到了海外,其中《地下城堡3》依靠買量在境外業務收入上增長明顯,目前市場潛力巨大。 然而,面對競爭激烈的PRG游戲出海局面,打開市…

12.docker的網絡-host模式

1.docker的host網絡模式簡介 host模式下,容器將不會虛擬出自己的網卡、配置IP等,而是使用宿主機的IP和端口;也就說,宿主機的就是我的。 2. 以host網絡模式創建容器 2.1 創建容器 我們仍然以tomcat這個鏡像來說明一下。我們以h…

QSplitter分裂器

QSplitter QSplitter 是 Qt 框架提供的一個小部件(widget),用于在用戶界面中創建可拖動的分割窗口,允許用戶調整子部件的大小和布局。它可以將父部件分割為多個可調整大小的子部件,使用戶能夠自定義界面的布局和大小。…

2024年跨境電商黃金賽道預測來了!跨境電商首選平臺和品類有哪些?

跨境電商作為外貿新常態,在2023年已逐漸進入穩定增長的發展階段,想必2024年跨境電商也會是一個向好的發展趨勢,2024年做跨境電商,找準適合自己的電商平臺和產品是成功的關鍵,今天東哥就對2024年的跨境電商黃金賽道做一…

Kotlin中 for in 是有序的嗎?forEach呢?

我們要遍歷一個數組、一個列表,經常會用到kotlin的 for in 語法,但是 for in 是不是有序的呢?forEach是不是有序的呢?這就需要看一下它們的本質了。 數組的 for in // 調用: val arr arrayOf(1, 2, 3) for (ele in …

安卓現代化開發系列——從生命周期到Lifecycle

由于安卓已經誕生快二十載,其最初的開發思想與現代的開發思想已經大相徑庭,特別是Jetpack庫誕生之后,項目中存在著新老思想混雜的情況,讓許多的新手老手都措手不及,項目大步向屎山邁進。為了解決這個問題,開…

P6 C++控制流語句(continue, break, return)

前言 今天我們講的是控制流語句,本期內容是上期課程的延續。 控制流語句一般與循環語句一起工作,它們讓我們可以更好的控制這些循環的實際運行。 我們有三個主要的控制流語句可以使用,continue 、break 和 return,它們有不同的…

Python 訂閱 image_transport 壓縮后的深度圖 compressedDepth

image_transport 是ros的一個圖像處理工具,可以很方便地進行圖像數據的壓縮,可惜它目前并不支持python 當你如下安裝了image_transport及其plugin后 sudo apt install ros-foxy-image-transport*運行 ros2 run image_transport list_transports可看到如下內容 Declared tr…

打印樓梯,同時在樓梯上方打印兩個笑臉。

#include<stdio.h> int main() { int i,j; printf("\1\1\n"); /*輸出兩個笑臉*/ for(i1;i<11;i) { for(j1;j<i;j) printf("%c%c",219,219); printf("\n"); } return 0; }

【C++】POCO學習總結(五):功能介紹

【C】郭老二博文之&#xff1a;C目錄 1、POCO 簡介 github&#xff1a;https://github.com/pocoproject/poco 官網&#xff1a;https://pocoproject.org/index.html POCO第一個版本于 2005 年 2 月發布 POCO完全免費&#xff1a;POCO C 庫根據 Boost 軟件許可證獲得許可。非…