由于要用到多线程技术,之前用过windows API,但那是windows平台的。想试一下跨平台的,网上说boost有线程库,但那是个庞然大物,编译麻烦。无意中看见Zthread,这个小巧玲珑, sourceforge就有源码下载。第一次运行就成功了,好神奇啊!
小例子:
#include <iostream>
#include <zthread/Runnable.h>
#include <zthread/Thread.h>
using namespace std;
using namespace ZThread; // Zthread所有的变量,类等都在这个名字空间内
//这个跟java的风格一样
class Counter : public Runnable
{
private:
int _id; // 给任务一个识别id
int _num; // 计数器
public:
Counter(int id):_id(id){
_num = 0; //构造函数初始化
}
void run() // 实现run函数
{
_num = 1;
while(_num <= 50)
{
cout <<"我的id :"<<_id << ": " << _num << endl;
_num++;
Thread::sleep(500 * (_id+1));
}
}
};
int main()
{
//创建线程
Thread t0(new Counter(0));
Thread t1(new Counter(1));
}
sourceforge 没有库,自己打包了一个传上来(windows平台,其它平台重新编译就OK),方便自己使用。只要把头文件和库文件路径设置正确就行
分享到:
相关推荐
zthread线程库提供了各种线程、线程池、队列、各种锁的支持,还能跨平台哦。
ZThread-2.3.2 C++多线程库,在linux下编多线程程序很值得参考
总所周知,ZThread库是一款通用的多线程库,但需要自己编译 文件包含DEV vs2008 vc6.0编译的ZThread库
ZThread是开源的多线程库,这里提供了已经编译好的静态库。
ZThread库是《Thinking in C++》中使用的免费多线程库。但安装较麻烦。我收集了一些安装方法。
已经通VS2005编译成功,附带有Demo ZThread库是一个功能强大的线程库,可能不是很适合在wince下做开发,但对于运用熟练的仍可以以少量的线程来完成所需任务。
资源中包含zthread库2.3.1版本源码和在windows平台上编译和使用需要的posix pthread库的lib,dll以及三个.h文件
ZThread 是c++的线程库,这里利用 VS2005 对其进行重新编译,并增加了示例代码(代码是 《c++编程思想 第二卷》多线程部门的参考代码)。希望对大家有有些帮助。
已经通过VS2005编译成功,里面附带Demo
ZThread的最新源文件及自己编译生成的静态库文件,动态库文件,可以直接用来进行C++的并发编程,也可以自己编译,Windows及Linux的编译方法见http://blog.csdn.net/lanbing510/article/details/8441258
zthread patch,主要解决编译和BlockingQueue的问题。 使用方法: cd zthread_xxx_dir patch -p1 < zthread.patch
已经通过VS2005编译成功,导出了大部分常用接口,可以根据自己需要再导出其他接口
用vs2010编译通过的zthread lib工程,编译得到的lib经过简单的测试,若有问题,可以自己修改代码编译
C++ 多线程 编程
c++ 线程框架,通过线程框架快速实现C++的线程支持
zthread2.3.2 代码 lib zthread2.3.2 代码 lib
Centos安装ZThread2.3.2完整编译包,保证root权限下,configure,make,make install一次通过。
比如在线程库方面,还有ZThread、boost::thread,如果放大到C/C++领域,还有APR,还有CII。在文件和目录操作方面,boost也有相应的组件,而在网络编程方面有socket++,还有boost::asio,未来的C ++0X中几乎肯定有一...
NULL 博文链接:https://kmplayer.iteye.com/blog/572168