`
westice
  • 浏览: 114271 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

跨平台线程库 ZThread入门

阅读更多

 由于要用到多线程技术,之前用过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),方便自己使用。只要把头文件和库文件路径设置正确就行

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics