求助!: 关于线程中数据传出的问题
我的程序是个SDI应用,全部工作都在一个视(view)里完成。在这个视里定义了一个数组:UINT result[5900],在视的某个函数里启动一个线程进行数据采集,并将采集到的数据存放于result[5900]中。相关代码如下:在view.h中除了那个UINT result[5900]外,还定义:
typedef struct{
UINT AD[5900];
HANDLE hUsb;
UINT flag_samplemode;
UINT code;
} THREAD_INFO;
CWinThread *m_pThread;
THREAD_INFO m_ThreadInfo;
启动线程:
DoSample()
{
...
m_pThread = AfxBeginThread(ThreadProc,& m_ThreadInfo);
...
for (i=0;i<5900;i++) result[i]=m_ThreadInfo.AD[i];
}
运行后碰到的问题是: 无论是result,还是m_ThreadInfo.AD中,数据均为空,根本没有从线程中传出来,但在线程ThreadProc中是有数据的。
我原来以为这个程序很简单,不需要用到同步,可问题究竟出在哪里?请各位高手指点,谢谢!