虚心求教,万分感谢,望大家不吝赐教

各位大侠,首先感谢上次大家尤其是QNX master给予我的帮助。我在phab中做监控界面时,利用大家提供的方法用回调函数创建了一个线程来用fifo从下位机接收数据,现在可以与phab同时运行了,但是又有问题出现了:我在ptnumericinteger和ptnumericfloat这些控件上调用PtSetResource()函数来实时显示接收到的数据,就是取在fifo中传上来的变量值,可是控件中却只显示了0,没有显示出真正的值,不知是什么原因,哪位能再给偶指点一下,万分感谢。

迫切得到高手的指点,查阅之前的帖子,我们了解到Photon is not really thread safe, so all your photon calls need to be guarded by PtEnter/PtLeave calls.但是我们创建的线程并没有调用任何phAB库的资源比如ptSetResouce,只是用它通过fifo来维护一个全局结构体变量,为什么在callback里面用ptSetResouce无法给控件赋值,难道callback里面创建的线程之间不能共享全局变量?

我们使用的是全局变量是依靠fifo不断刷新的,于是又尝试在自编线程中定义赋值一个固定的全局变量b=3,结果可以在其它callback里面访问并显示出来~!真是奇怪了,怎么会这样呢?哪位做过类似的应用?

你是如何读取FIFO的,是不是数据没读过来呢?

搞错了,确实是数据问题,传过来的数据本来就是0,我们太马虎了,谢谢master