首页| JavaScript| HTML/CSS| Matlab| PHP| Python| Java| C/C++/VC++| C#| ASP| 其他|
购买积分 购买会员 激活码充值

您现在的位置是:虫虫源码 > 其他 > thread-manager

thread-manager

  • 资源大小:1.91 kB
  • 上传时间:2021-06-30
  • 下载次数:0次
  • 浏览次数:0次
  • 资源积分:1积分
  • 标      签:

资 源 简 介

provide a light weight capsule of pthread 编译需要链接 pthread 在linux下编译参数可以是 g++ main.cpp TM.cpp -lpthread -O3 提供一个pthread的轻量级封装. 每个任务只需要从TM:Job继承出一个类,并且将实例化的类变量指针传给ThreadManager , ThreadManager就可以从任务队列中取出人物,然后运行任务的run函数。 需要互斥操作的话,只需要实例化一个Mutex,然后再Mutex.lock(), Mutex.unlock()即可 并行程序的书写问题大多是比较麻烦的,虽然代码不长,但是经常需要非常大的工作量,利用这个多线程池可以非常快速的完成一个高效的多线程程序。 ``` #include #include #include #include #include "TM.h" using namespace std; using namespace TM; Mutex mut; class Task1 :public Job{ public: void run(void) { mut.lock(); for (int i = 0;i < 100;i++) { usleep(1); printf("1"); fflush(stdout); } putchar(10); fflush(stdout); mut.unlock(); } }; class Task2: public Task1 { public: void run() { mut.lock(); for (int i = 0;i < 100;i++) { usleep(1); printf("2"); fflush(stdout); } putchar(10); fflush(stdout); mut.unlock(); } }; class Task3 :public Job{ pu

文 件 列 表

thread-manager
TM.h
TM.cpp
main.cpp
VIP VIP
0.225067s