线程池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.mzph.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…