ZThread是一个C++的跨平台线程开发包。
zthread库的用法和Java的多线程很相似,名字都差不多,比如Thread,Runnable,^_^举个例子入门一下吧在zthread里有一个任务的概念,任务就是要做的一件事,任务是怎么定义呢?两件事要做:一、继承Runnable这个抽象类。二、实现run接口Runnable在源代码中的定义如下:classRunnable{public: virtualvoidrun()=0; virual~Runnable(){}}我们现在定义一个任务,这个任务用来数数吧//File:Counter.cpp#include<iostream>#include<zthread/Runnable.h>#include<zthread/Thread.h>usingnamespacestd;usingnamespaceZThread; //Zthread所有的变量,类等都在这个名字空间内classCounter:publicRunnable{private: int_id; //任务的ID号 int_num; //当前数到几public: Counter(intid):_id(id){} voidrun() //实现run函数 { _num=1; while(_num<=50) { cout<<_id<<" "<<_num<<endl; _num++; } }};intmain(){ try { Threadt(newCounter()); } catch(Synchronization_Exception&e) { cerr<<e.what()<<endl; }}//endoffile然后编译它g++-otestCounter.cpp-lZThread最后边的一个选项是编译时候动态连接到libZThread库然后运行吧./test如果报错的话,按下边方式运行LD_LIBRARY_PATH=/usr/local/lib/这就是基本线程运行的例子了~~~
评论