UI和后台线程之间的交叉线程

时间:2011-09-22 12:57:38

标签: .net c++ multithreading command-line-interface managed-c++

我编写了一个程序,允许用户界面线程几乎随时访问填充的数组。此数组由对象中的单独后台工作线程填充。

用户界面线程访问此阵列时会发生什么?它会在访问之前自动将其锁定吗?

我在托管C ++ / CLI中编写代码。

1 个答案:

答案 0 :(得分:2)

数组未自动锁定。如果从多个线程访问它,则您有责任提供同步。

另一种方法是通过Control.BeginInvoke调用从工作线程序列化数组更新 - 在这种情况下,仅从UI线程访问/更改数组,并且不需要同步。