我有一个小的C ++ dll,它有2个回调函数,可以从另一个dll中检索信息。
这两个回调函数在多个线程中被重复调用。
它们都向同一个全局Cstring变量添加信息。
我有另一个函数,使用这个dll的程序会调用它来读取这个变量。
这种情况很少见,但有时我会崩溃,这肯定是由于这个全局变量同时由2个不同的函数读/写。
我对多线程不太熟悉,所以我真的不知道该怎么做。
有什么建议吗?
这是我之前发布的关于相同问题的问题,其中包含更多信息..(和一些代码)。 其中一位用户协助我确认这是一个多线程问题,而且我们没有比这更进一步。
答案 0 :(得分:1)
阅读Thread Synchronization for Beginners。
如果您使用的是MFC,那么CMutex
可能是合适的。
答案 1 :(得分:0)
您必须在此变量上创建关键部分。在Windows中,您可以使用Mutex Objects。
来完成此操作