实现多线程对队列的读写操作(封装类)
#include “thread_base.h”
class CChildThread:public CThreadBase
{
protected:
virtual int Process(StructSyncData * oneData,void* args)
{
//printf(”%lld\n”,oneData->ID);
return 0;
}
virtual int init(char* cfgFileName)
{
m_ThreadNum=100;
m_BoolWriteBill=true;
return 0;
}
virtual void AfterAddData(long long popID,int iTime,int preRet)
{
if(preRet)
{
int t_Time=time(NULL);
WriteBill(“[%lld][%d][%d]\n”,popID,iTime,t_Time);
}
}
};
int main()
{
CChildThread t_thread;
int ret;
ret = t_thread.Init(“”);
if(ret)
{
return 0;
}
t_thread.Start();
long long popID=0;
int i=0;
while(1)
{
StructSyncData *t_data = new StructSyncData();
t_data->ID=i;
t_thread.AddData(t_data,popID);
i++;
}
}
希望对大家有用~
建议继续学习:
- 无锁消息队列 (阅读:12820)
- 多线程队列的算法优化 (阅读:6516)
- TSQ 的原理 (阅读:5951)
- 各消息队列软件产品大比拼 (阅读:5155)
- Gearman Server 使用 MySQL UDFs 来管理和保持队列 (阅读:4865)
- 进程和线程关系及区别 (阅读:3925)
- MySQL为什么要引入Thread Pool的线程处理模式 (阅读:3489)
- 一些队列理论 吞吐量、延迟和带宽 (阅读:3260)
- 无锁消息队列 (阅读:3202)
- 最近几个容易错的地方总结(hash_map迭代删除,localtime(),线程状态) (阅读:2993)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:Dante 来源: Vimer
- 标签: 线程 队列
- 发布时间:2009-12-31 15:55:08
- [56] Oracle MTS模式下 进程地址与会话信
- [56] IOS安全–浅谈关于IOS加固的几种方法
- [55] 如何拿下简短的域名
- [54] 图书馆的世界纪录
- [53] Go Reflect 性能
- [53] android 开发入门
- [50] 读书笔记-壹百度:百度十年千倍的29条法则
- [49] 【社会化设计】自我(self)部分――欢迎区
- [38] 程序员技术练级攻略
- [33] 视觉调整-设计师 vs. 逻辑