線程池API

線程池API

線程池應用程序編程接口(API)使用基于對象的設計。以下每個對象都由用戶模式數據結構表示:

  • 池對象是一組可用于執行工作的工作線程。每個進程可以根據需要創建具有不同特征的多個隔離池。每個進程都有一個默認池。
  • 清理組與一組回調生成對象相關聯。存在等待并釋放作為每個清理組成員的所有對象的函數。這使應用程序無需跟蹤它創建的所有對象。
  • 將工作對象分配給池,并可選擇分配給清理組。它可以被發布,導致池中的工作線程執行其回調。工作對象可以有多個未完成的帖子;
    每個都會產生一個回調。由于缺乏資源,后期操作不會失敗。
  • 計時器對象控制回調的調度。每次計時器到期時,其回調都會發布到其工作池。由于缺乏資源,設置計時器不會失敗。
    等待對象導致服務器線程在等待句柄上等待。在等待或超時期限到期后,服務員線程將等待對象的回調發布到等待的工作池。由于缺乏資源,設置等待不會失敗。
  • I / O對象將文件句柄與線程池的I / O完成端口相關聯。當異步I / O操作完成時,工作線程會獲取操作的狀態并調用I /
    O對象的回調。

下表描述了原始和當前線程池API的功能。

特征原始API當前的API
同步RegisterWaitForSingleObjectCloseThreadpoolWait
UnregisterWaitExCreateThreadpoolWait
SetThreadpoolWait
WaitForThreadpoolWaitCallbacks
工作QueueUserWorkItemCloseThreadpoolWork
CreateThreadpoolWork
SubmitThreadpoolWork
TrySubmitThreadpoolCallback
WaitForThreadpoolWorkCallbacks
計時器CreateTimerQueueCloseThreadpoolTimer
CreateTimerQueueTimerCreateThreadpoolTimer
ChangeTimerQueueTimerIsThreadpoolTimerSet
DeleteTimerQueueTimerSetThreadpoolTimer
DeleteTimerQueueExWaitForThreadpoolTimerCallbacks
I / OBindIoCompletionCallbackCancelThreadpoolIo
CloseThreadpoolIo
CreateThreadpoolIo
StartThreadpoolIo
WaitForThreadpoolIoCallbacks
清理CloseThreadpoolCleanupGroup
CloseThreadpoolCleanupGroupMembers
CreateThreadpoolCleanupGroup
CloseThreadpool
CreateThreadpool
SetThreadpoolThreadMaximum
SetThreadpoolThreadMinimum
回調環境DestroyThreadpoolEnvironment
InitializeThreadpoolEnvironment
SetThreadpoolCallbackCleanupGroup
SetThreadpoolCallbackLibrary
SetThreadpoolCallbackPool
SetThreadpoolCallbackPriority
SetThreadpoolCallbackRunsLong
回調CallbackMayRunLong
回調清理DisassociateCurrentThreadFromCallback
FreeLibraryWhenCallbackReturns
LeaveCriticalSectionWhenCallbackReturns
ReleaseMutexWhenCallbackReturns
ReleaseSemaphoreWhenCallbackReturns
SetEventWhenCallbackReturns

相關話題

線程池

使用線程池功能

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

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

相關文章

WEB 請求處理 一:瀏覽器 請求發起處理

最近,終于要把《WEB請求處理系列》提上日程了,一直答應小伙伴們給分享一套完整的WEB請求處理流程:從瀏覽器、Nginx、Servlet容器,最終到應用程序WEB請求的一個處理流程,前段時間由于其他工作事情的安排,一直…

離合器半聯動探秘

離合器踏板作用是切斷發動機和變速箱之間的動力,有利于起步、變速、和停車。那么如何更好的使用它呢? 離合器的五種狀態示意圖 離合器半聯動的使用方法揭密如下: 離合器半聯動的使用探密之一 將離合器抬到車開始動時你就別再抬了,…

Biztalk Server 2006安裝配置

前段時間收到了來自beta.microsoft.com的BTS20006 Beta2的下載地址,這兩天對它進行了一番安裝配置。下面把一些經過和步驟和大家分享一下,手中有一些去年的Biztalk Server2004版本的培訓資料,里面有11個Lab。需要的朋友請留下mail&#xff0c…

apache 官方 Dubbo 文檔

只是分享、記錄一下 dubbo 的文檔地址:apache 官方 Dubbo 文檔 其頁面內容如下:(我是用 chrome 直接右鍵翻譯的,原文檔是英文的)

制動踏板是什么?

制動踏板就是腳剎(行車制動器)的踏板,使運行中的機車、車輛及其他運輸工具或機械等停止或減低速度的動作。制動的一般原理是在機器的高速軸上固定一個輪或盤,在機座上安裝與之相適應的閘瓦、帶或盤,在外力作用下使之產…

CSS Framework 960 Grid System (收)

CSS框架 :960 Grid System 官網:http://960.gs/ 什么是框架?框架是一種你能夠使用在你的web項目中概念上的結構。CSS框架一般是CSS文件的集合,包括基本風格的字體排版,表單樣式,表格布局等等,比…

使用線程本地存儲

線程本地存儲(TLS)使同一進程的多個線程能夠使用由TlsAlloc函數分配的索引來存儲和檢索線程本地的值。在此示例中,在進程啟動時分配索引。當每個線程啟動時,它會分配一個動態內存塊,并使用TlsSetValue函數在TLS槽中存儲…

發動機的工作原理,你知道嗎?

http://auto.jxedt.com/info/5352.htm 發動機是汽車的動力裝置,性能優劣直接影響到汽車性能,發動機的類型很多,結構各異,以適應不同車型的需要。按發動機使用燃料劃分,可分成汽油發動機和柴油發動機等類別。按發動機汽…

官方文檔: Dubbo 框架設計、模塊說明、依賴關系

以下內容全文轉自 apache 官方 dubbo文檔:http://dubbo.apache.org/en-us/docs/dev/design.html 框架設計 圖片描述: 淺藍色背景的左側區域顯示服務用戶界面,淺綠色背景的右側區域顯示服務提供者界面,中心區域顯示兩個側面界面。…

那些花兒

今天上海下雨了,心緒也變得低落,突然很想念宿舍的姐妹。畢業后就自作聰明地和她們失去了聯系,今天去QQ群遛了一圈。虹結婚了,敏還是活得那么瀟灑,笑也在努力地生活... 人生啊!總是在向前走,遇…

CreateRemoteThread函數

CreateRemoteThread函數 創建在另一個進程的虛擬地址空間中運行的線程。 使用CreateRemoteThreadEx函數創建在另一個進程的虛擬地址空間中運行的線程,并可選擇指定擴展屬性。 語法 HANDLE CreateRemoteThread(HANDLE hProcess,LPSECURITY_ATTRI…

防火墻問題 Linux系統 /etc/sysconfig/路徑下無iptables文件

虛擬機新裝了一個CentOs7,然后做防火墻配置的時候找不到iptables文件,解決方法如下: 因為默認使用的是firewall作為防火墻,把他停掉裝個iptable systemctl stop firewalld systemctl mask firewalld yum install -y iptables yum …

如果風 知道 ... 如果云 知道 ...

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 //《心靈之音》----- Bandari 來自酷狗。 一直很喜歡聽歌: 喜歡默默的聽、一個人安安靜靜的聽、長長久久的聽、聽得忘乎所…

切記!這樣洗頭最傷身

各種的忙碌已經成為了現代人生活中的一個標志,每天的加班,玩樂到深夜,游戲等,都讓不少的人的洗澡時間都只能在臨睡前,而女人洗頭也只能在晚上臨睡之前洗。如果可以有足夠的時間,等待頭發完全干透了之后&…

可以供MFC調用的,QT實現的DLL(qtwinmigrate實現)

MFC和QT的消息循環機制不同&#xff0c;所以&#xff0c;要讓QT寫的DLL可以供MFC調用&#xff0c;要做一點特殊的處理 #include <qmfcapp.h> #include <qwinwidget.h> #include <QtGui>#include <QtGui/QMessageBox> #include <windows.h> #incl…

離合器的操作技巧

學車其實不難&#xff0c;學車最基本的幾個操作&#xff0c;打方向盤、踩離合、踩剎車、換檔位都是學員需要必學的基本操作&#xff0c;在網絡駕校上有學員反應&#xff0c;對離合器的操作比較難&#xff0c;經常錯誤操作造成熄火等現象&#xff0c;現在瀘州駕校論壇小編整理了…

Linux 上 安裝 nginx、 阿里云服務器上安裝 nginx

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 Docker 方式安裝見另一文&#xff1a;Docker 方式安裝 Nginx 、阿里云服務器上裝 Ngnix 1. gcc 安裝 安裝 nginx 需要先將官網下載的源…

CSDN-markdown編輯器使用說明

歡迎使用Markdown編輯器 你好&#xff01; 這是你第一次使用 Markdown編輯器 所展示的歡迎頁。如果你想學習如何使用Markdown編輯器, 可以仔細閱讀這篇文章&#xff0c;了解一下Markdown的基本語法知識。 新的改變 我們對Markdown編輯器進行了一些功能拓展與語法支持&#x…

本地Android源代碼庫下載源碼

1. 安裝repo 新建放置repo的bin目錄 $ mkdir ~/bin $ echo "export PATH~/bin:\$PATH" >> ~/.bashrc$ source ~/.bashrc 獲取repo并賦予可執行權限&#xff08;或者參考google官方網站&#xff09; $ curl https://storage.googleapis.com/git-repo-downloads/…

解決: Spring Boot報錯 This application has no explicit mapping ... a fallback

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 啟動spring boot然后訪問頁面的時候&#xff0c;出現如下錯誤&#xff1a; Whitelabel Error PageThis application has no explicit m…