vc子线程修改主线程变量,多线程修改static变量
http://www.itjxue.com 2023-01-09 02:29 来源:未知 点击次数:
C语言子线程中如何使用主线程的变量
要么 使用全局变量.
要么 在主线程中,通过全局变量,或者消息, 或者建立子线程传参, 总之凡是可行的交互方式都可以, 把主线程中变量的地址传给子线程.
即使用主线程写一个文件, 子线程去读这个文件, 这样的方法都是可以的.

vc多线程修改同一个全局变量,如何加锁
CRITICAL_SECTION cs; // 全局变量 ::InitializeCriticalSection( cs); // 初始化锁 ::EnterCriticalSection( cs); 获得锁 ...... ::LeaveCriticalSection( cs); // 释放锁 ...... ::DeleteCriticalSection( cs); // 删除锁------解决方案--------------------------------------------------------探讨引用:C/C++ codeCRITICAL_SECTION cs; // 全局变量
主线程与子线程同步一个变量,主线程改变了变量值,子线程收不到
为何不设置两个断点来调试呢,一个在SendMessage后面
::EnterCriticalSection(m_css);
一个在你的主线程等待那里
-----------华丽的分割线---------------
实际上你根本不用那样做,你可以设置一个event,在子线程完成时激活这个事件,主线程等待这个事件就好了
困惑:子线程如何使用主线程的变量
定义全局变量是可以的,为空是因为你还没有给这个变量赋值就使用他了。解决方法在子线程获取数组并把值赋给全局变量,然后发送消息Message通知handler,最后在handler中接收通知并显示使用这个全局变量。
(责任编辑:IT教学网)
上一篇:php8.2,php820
下一篇:网址生成APP,网址生成快捷方式