编程语言

img linweixuan

JTCThread使用样例

发表于2004/10/21 17:54:00  943人阅读

JTCThread使用样例

 

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

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

 

注:

这些宏定义是在GNUGPL代码中非常常见的,通常而言是通过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);

 

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

              //而是通过newJTCHandleT模板配合使用,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代码时候

写权当学习的笔计。

 

阅读全文
0 0

相关文章推荐

img
取 消
img