windows线程池

       我们知道,线程的频繁创建和销毁是比较消耗系统资源的,因此,OS在处理一些任务时,发明了线程池(ThreadPool)这个东西。线程池是若干线程的容器,负责调度和管理这些线程,而这些线程用于处理一些事物请求。有了线程池,我们很多情况下不需要自己createthread。

线程池需要具备的几个元素

1)  线程池要有个列表,来管理多个线程对象。

2)  线程池要提供获取空闲(IDLE)线程方法

3)  线程池中的线程,具体执行的内容,可自定义。

4)  线程池中的线程,使用完毕后,还能被收回,供下次使用。

这个图是线程池的简单示意



下面是一些线程池的API,分别是适用于vista和以前的OS版本。

Feature

Original API(XP)

Current API

Synch

RegisterWaitForSingleObject

UnregisterWaitEx

CloseThreadpoolWait

CreateThreadpoolWait

SetThreadpoolWait

WaitForThreadpoolWaitCallbacks

Work

QueueUserWorkItem

CloseThreadpoolWork

CreateThreadpoolWork

SubmitThreadpoolWork

TrySubmitThreadpoolCallback

WaitForThreadpoolWorkCallbacks

Timer

CreateTimerQueue

CreateTimerQueueTimer

ChangeTimerQueueTimer

DeleteTimerQueueTimer

DeleteTimerQueueEx

CloseThreadpoolTimer

CreateThreadpoolTimer

IsThreadpoolTimerSet

SetThreadpoolTimer

WaitForThreadpoolTimerCallbacks

I/O

BindIoCompletionCallback

CancelThreadpoolIo

CloseThreadpoolIo

CreateThreadpoolIo

StartThreadpoolIo

WaitForThreadpoolIoCallbacks

Clean-up group

 

CloseThreadpoolCleanupGroup

CloseThreadpoolCleanupGroupMembers

CreateThreadpoolCleanupGroup

Pool

 

CloseThreadpool

CreateThreadpool

SetThreadpoolThreadMaximum

SetThreadpoolThreadMinimum

Callback environment

 

DestroyThreadpoolEnvironment

InitializeThreadpoolEnvironment

SetThreadpoolCallbackCleanupGroup

SetThreadpoolCallbackLibrary

SetThreadpoolCallbackPool

SetThreadpoolCallbackRunsLong

Callback

 

CallbackMayRunLong

Callback clean up

 

DisassociateCurrentThreadFromCallback

FreeLibraryWhenCallbackReturns

LeaveCriticalSectionWhenCallbackReturns

ReleaseMutexWhenCallbackReturns

ReleaseSemaphoreWhenCallbackReturns

SetEventWhenCallbackReturns




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值