【发布时间】:2016-03-02 22:12:22
【问题描述】:
您好,我有一个创建 2 个线程的示例。我的问题是,当我输出值时,它总是在 999 之前打印 1000。是否可以在 1000 之前打印 999。只想知道它们是如何排序的?
static void Main(string[] args)
{
ThreadLocal<int> field = new ThreadLocal<int>(() => 0, true);
Thread firstThread = new Thread(new ThreadStart(() =>
{
field.Value = 999;
}));
Thread secondThread = new Thread(new ThreadStart(() =>
{
field.Value = 1000;
}));
firstThread.Start();
secondThread.Start();
firstThread.Join();
secondThread.Join();
IList<int> valueList = field.Values;
foreach (int arr in valueList)
Console.WriteLine(arr);
Console.Read();
}
【问题讨论】:
-
线程并行运行,不保证哪个先执行。
标签: c# thread-local