我现在有一个线程用到了一个全局变量,但是另外又有一个线程要用到它,而且要改变它,这两个线程又得同步,我该怎么办呢。我试过同步线程的一些办法,没有成功~~~
解决方案 »
- 学完MFC学什么好
- SYS驱动中如何获得 PIRP Irp 指针?
- 两个记录集间数据交换问题!
- 程序在运行开始时出现 user breakpoint called from code at 0x7c953412 的对话框如何处理?
- VC中调用VB生成的DLL(java调用VB的DLL)
- SHBrowseForFolder来选择路径,怎样初始化起始路径为特定的 ?
- 非模态属性表(PropertySheet)中用按钮弹出模态对话框时程序挂起 -- 高手帮帮忙呀
- 请问怎么用VC编译LUA
- 如何获得一个dll的handle
- 如何使得在任务栏有显示图标????????
- 高分求教 ARX 问题
- ARX开发问题,怎样在图纸空间解决视图变化和用户坐标系变化
EnterCriticalSection(),访问结束后立即LeaveCriticalSection()就可以了。
CRITICAL_SECTION m_ObjectLock;
//初始化临界区
InitializeCriticalSection(&m_ObjectLock);// 进入临界区
EnterCriticalSection(&m_ObjectLock);//处理全局变量//离开临界区
LeaveCriticalSection(&m_ObjectLock); // 删除临界区
DeleteCriticalSection(&m_ObjectLock);
注意:必须在同一进程中使用。
拜托啦。
这个问题放下好久没做了,现在想把它解决了。
to vcforever(霓裳羽衣) :
我在线程函数里对该全局变量生成一副本(局部变量),两个线程刚开始不久可以“同时”运行,但运行时间一长,好像就有些冲突了,我再观察观察....