tedd
小水手

UID 29753
精华
0
积分 2
帖子 2
阅读权限 10
注册 2007-3-9
状态 离线
|
多线程问题,请高手支招!
不好意思我刚学VC时间不长,所以遇到问题不知道从何处着手了,还请高手指教。
软件背景:
程序调用了外部动态库(第三方提供),引用了3个头文件。8个线程都用了同样的函数。用了8个按钮代表8个线程,没点击一个按钮执行一个线程,目的就是不管何时点击任何一个按钮就可以执行各自的线程,并将固定路径下的文件写到外设中。
我的程序没有进行任何同步,程序就出现了等待.
我的程序是通过点击按钮开始执行线程内容的:
void CTrialDLDlg::On_start1()
{
tedd1 = (thread1*)AfxBeginThread(RUNTIME_CLASS
(thread1),THREAD_PRIORITY_NORMAL,0, CREATE_SUSPENDED);
tedd1->ResumeThread();
}
然后运行thread1的RUN函数执行具体操作,
1。现在我也不知道这个同步在那里加,用哪一类同步。(我在线程中用过信号量,然后在具体的公共函数前后加LOck(),UNlock,结果是不行)
2。还有就是线程的建立是在初始化的时候建立好,还是我这种情况也可以
还望高手给指点指点。非常感谢。
|
|