再谈线程池的实现

发表于:2007-07-01来源:作者:点击数: 标签:
再谈线程池的实现 前言。 在win2K以后的操作系统里有几个线程池的api : QueueUserWorkItem, WorkItemFunc, 等(可参阅msdn)。 这里我不是介绍他们的用法。 我现在一个工程当中,需要用到线程池,主要是效率的考虑。 在很早之前我其实已经实现过线程池,只是那




再谈线程池的实现
前言。
在win2K以后的操作系统里有几个线程池的api : QueueUserWorkItem, WorkItemFunc, 等(可参阅msdn)。

这里我不是介绍他们的用法。
我现在一个工程当中,需要用到线程池,主要是效率的考虑。

在很早之前我其实已经实现过线程池,只是那时,没有整理,另一方面是,工程一般都很大,不适合为大家作为范例来学习。

我这里实现了一个线程池,主要是我也想把自己的一些思想稳定下来.
原理:
如图
关键技术
多线程,事件/同步,回调机制。
使用细节.

BOOL CThreadDlg::OnInitDialog()
{
CDialog::OnInitDialog();


m_threadpool.SetPF(Test);
m_threadpool.Run();
return TRUE; // return TRUE unless you set the focus to a control
}
运行结果:
如图

原文转自:http://www.ltesting.net