JTCThread使用样例

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

JTCThread使用样例

JTC支持新旧iostream流库,使用新旧流方法是通过宏定义HAVE_IOSTREAM。

JTC支持名字空间,通过使用HAVE_STD_IOSTREAM宏定义。

注:

这些宏定义是在GNU,GPL代码中非常常见的,通常而言是通过autoconf机制生

成一个平台相关的配置config.h头文件,在文件中宏定义出所支持的平台和编译器。

#ifdef HAVE_IOSTREAM

# include <iostream>

#else

# include <iostream.h>

#endif

#ifdef HAVE_STD_IOSTREAM

using namespace std;

#endif

定义线程类,主要实现JTCRunnable抽象类的run函数

class Clock : public JTCRunnable

{

void run()

{

printf(“hello,jtc thread.”);

}

}

使用线程类实例

int main(int argc, char** argv)

{

try

{

//使用JTC线程前必须如下初始化线程库

JTCInitialize bootJTC(argc, argv);

//生成线程类实例,特别注意的是不应该直接使用对象声明的方式,

//而是通过new和JTCHandleT模板配合使用,JTCHandleT来管理

//通过new生成的线程实例。在win32下不同过这种方式,会产生

//崩溃,为什么?这涉及另外一个问题。

JTCHandleT<Clock> c = new Clock();

//启动线程

c -> start();

//主程序睡眠

JTCThread::sleep(1000*5);

//线程停止

c -> stop();

//下面是JTC异常处理

}catch(const JTCException& e) {

cerr << "JTCException: " << e.getMessage() << endl;

}

return 0;

}

注:

挺简单的一个线程程序,只要注意在使用的过程中一些事项,JTC线程是

非常好使用的。如需要对JTC进一步的了解,可以看看本人看JTC代码时候

写权当学习的笔计。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航