该方法是在线程中运行,还是在线程之外定义的线程中运行,还是并行运行?除了比赛之外,还会有什么副作用吗?
SomeClass a = new SomeClass()
ThreadStart childref = new ThreadStart(() =>
{
a.mass = a.CalculateMass() // Lets say this takes a minute to calculate.
});
Thread childThread = new Thread(childref);
childThread.Start();发布于 2018-11-17 01:26:55
它将在一个单独的线程中运行。
变量只是内存中仅受进程限制的位置,而不是线程。因此,应用程序中的单独线程可以访问内存中的相同位置。
如果您不小心确保在任何时候只有一个线程访问它,那么除了争用条件之外,不会有其他副作用。
https://stackoverflow.com/questions/53347187
复制相似问题