资源简介
编写一个多队列线程池应用
编写一个实现了整数加法运算的线程池
在这个应用中,有三种线程:
一个用户线程。用于向线程池(主控线程)提出加法计算请求
一个主控线程。用于接收用户线程发送的加法计算请求,并负载均衡地将请求下发到若干计算线程
若干计算线程。用于接收来自于主控线程转发的加法计算请求,完成加法计算,并将计算结果直接返回给用户线程
无论何种线程,每个线程都有自己的消息队列
通过这些队列,实现加法计算请求的发送与转发,以及计算结果的返回
具体业务要求:
用户线程需同时向主控线程提出>=1000个加法计算请求
用户线程需要验证是否收到了这些加法计算的结果
代码片段和文件信息
#include “CLConditionVariable.h“
#include “CLMutex.h“
#include “CLLog.h“
CLConditionVariable::CLConditionVariable()
{
int r = pthread_cond_init(&m_ConditionVariable 0);
if(r != 0)
{
CLLog::WriteLogMsg(“In CLConditionVariable::CLConditionVariable() pthread_cond_init error“ r);
throw “In CLConditionVariable::CLConditionVariable() pthread_cond_init error“;
}
}
CLConditionVariable::~CLConditionVariable()
{
int r = pthread_cond_destroy(&m_ConditionVariable);
if(r != 0)
{
CLLog::WriteLogMsg(“In CLConditionVariable::~CLConditionVariable() pthread_cond_destroy error“ r);
throw “In CLConditionVariable::~CLConditionVariable() pthread_cond_destroy error“;
}
}
CLStatus CLConditionVariable::Wait(CLMutex *pMutex)
{
int r = pthread_cond_wait(&m_Condit
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-03-26 21:50 4\
文件 1576 2011-08-24 22:02 4\CLConditionVariable.cpp
文件 554 2011-08-23 15:30 4\CLConditionVariable.h
文件 750 2011-08-29 17:19 4\CLCriticalSection.cpp
文件 406 2011-08-29 17:23 4\CLCriticalSection.h
文件 1184 2011-08-29 17:44 4\CLEvent.cpp
文件 695 2011-09-13 15:20 4\CLEvent.h
文件 334 2010-08-13 18:57 4\CLExecutive.cpp
文件 867 2011-08-25 16:06 4\CLExecutive.h
文件 166 2011-09-15 16:51 4\CLExecutiveCommunication.cpp
文件 457 2011-09-16 11:19 4\CLExecutiveCommunication.h
文件 559 2011-09-15 15:28 4\CLExecutiveFunctionForMsgLoop.cpp
文件 775 2011-09-15 15:06 4\CLExecutiveFunctionForMsgLoop.h
文件 179 2010-08-12 11:43 4\CLExecutiveFunctionProvider.cpp
文件 535 2011-08-17 10:00 4\CLExecutiveFunctionProvider.h
文件 216 2011-09-18 16:50 4\CLExecutiveInitialFinishedNotifier.cpp
文件 568 2011-09-18 18:29 4\CLExecutiveInitialFinishedNotifier.h
文件 4236 2011-11-05 17:33 4\CLExecutiveNameServer.cpp
文件 1336 2011-11-05 14:31 4\CLExecutiveNameServer.h
文件 2263 2011-09-16 17:24 4\CLLog.cpp
文件 606 2011-09-04 21:21 4\CLLog.h
文件 154 2011-09-05 10:59 4\CLMessage.cpp
文件 449 2011-09-15 10:38 4\CLMessage.h
文件 2839 2011-09-18 21:39 4\CLMessageLoopManager.cpp
文件 1513 2011-09-18 17:52 4\CLMessageLoopManager.h
文件 127 2011-08-27 13:37 4\CLMessageObserver.cpp
文件 479 2011-09-15 10:24 4\CLMessageObserver.h
文件 1612 2011-09-19 16:52 4\CLMessageQueue.cpp
文件 782 2011-09-15 10:11 4\CLMessageQueue.h
文件 1730 2011-09-17 15:59 4\CLMsgLoopManagerForMsgQueue.cpp
文件 811 2011-09-17 14:13 4\CLMsgLoopManagerForMsgQueue.h
............此处省略16个文件信息
评论
共有 条评论