JTCThread使用样例

博客介绍了JTCThread的使用样例。JTC支持新旧iostream流库和名字空间,通过宏定义实现。还给出了线程类定义及使用实例,包括线程库初始化、线程启动与停止等操作,同时提醒使用时需注意相关事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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代码时候

写权当学习的笔计。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值