在QNX 文本界面编程除了简单的键盘输入,控制台输出以外,还有好多重要的知识点需要学习,包括多线程,线程同步,进程通讯,资源管理器(硬件驱动)等等。
首先了解一下QNX环境下的多线程编程。QNX环境实现了多线程并发,多线程切换时的复杂处理已经由内核实现了,开发人员需要做的就是创建启动线程。
在QNX下创建线程的方法是pthread_create方法,使用时需要导入pthread.h头文件,pthread_create方法定义如下:(再次强调,QNX的“API”文档:library reference一书很重要,从中可以找到更多细节)
int pthread_create( pthread_t* thread,
const pthread_attr_t* attr,
void* (*start_routine)(void* ),
void* arg );
看方法的定义总是不如看样例来的容易,下面是创建线程的最简单方法:
pthread_create( NULL, NULL, &myMethod, NULL );
其中myMethod是希望线程进入的方法,其它参数为空,其它参数是用于记录线程ID,给方法传入参数用的,在这里一概忽略,目的是简化测试环境。
在我的测试代码中实现如下:
void* myMethod(void* arg) {