标签: .net c++ multithreading command-line-interface managed-c++
我编写了一个程序,允许用户界面线程几乎随时访问填充的数组。此数组由对象中的单独后台工作线程填充。
用户界面线程访问此阵列时会发生什么?它会在访问之前自动将其锁定吗?
我在托管C ++ / CLI中编写代码。
答案 0 :(得分:2)
数组未自动锁定。如果从多个线程访问它,则您有责任提供同步。
另一种方法是通过Control.BeginInvoke调用从工作线程序列化数组更新 - 在这种情况下,仅从UI线程访问/更改数组,并且不需要同步。