zql94112 发表于 2006-6-16 17:49:23

求助多线程应用

我在CVI用多线程,用的是Thread safe Queue方法;CmtInstallTSQCallback (tsqHandle,EVENT_TSQ_ITEMS_IN_QUEUE, MAX_ITEMS_IN_QUEUE_BLOCK,ProcessFunction ,0, CmtGetCurrentThreadID(),&ProcessFunctionID );用来安装采集线程采到一定量数据时启动处理函数
      
CmtScheduleThreadPoolFunctionAdv (DEFAULT_THREAD_POOL_HANDLE,
AcquireDataThreadFunction,NULL , THREAD_PRIORITY_NORMAL,
TSQDataAcquisitionCleanupCallback,EVENT_TP_THREAD_FUNCTION_END, NULL,
CmtGetCurrentThreadID(), &threadFunctionID);用来启动采集线程
在采到我要的数据后我不再接收和处理数据了也想在TSQDataAcquisitionCleanupCallback函数通过CmtDiscardTSQ (tsqHandle)来终止采集线程,可是没用;采集线程只有采满足数据安全队列后才停,不知有什么办法能让其终止呀!

easons 发表于 2006-6-23 01:15:59

<P>你的工作线程用什么机制的,定时采还是死循环采?定时采关定时器,死循环采标志位置为0</P>
页: [1]
查看完整版本: 求助多线程应用