class Program
{
public static void ThreadMainMethod()
{
for(int i=0;i<10;i++)
{
Console.WriteLine("Thread Proc{0}",i);
Thread.Sleep(0);
}
}
static void Main(string[] args)
{
Thread t = new Thread(new ThreadStart(ThreadMainMethod));
t.Start();
for(int i=0;i<4;i++)
{
Console.WriteLine("From Main Thread");
Thread.Sleep(0);
}
t.Join();
}
1
A
回答
2
您的代码没有定义应该运行的命令。您有四个计数线程,每个线程完全独立运行。 Windows将按照调度程序确定的顺序运行线程 - 这受到系统中每个其他进程的影响。
如果您不同步您的线程,则无法保证其运行顺序。
+0
你能告诉我如何同步这个程序@ shf301 –
+0
这取决于你想如何同步程序。您需要先定义订单。但多线程同步是一个大而复杂的领域。以下是您可以在.Net中使用的不同类型的列表:https://msdn.microsoft.com/en-us/library/9xyf641a(v=vs.110).aspx – shf301
相关问题
- 1. 为什么console.log和document.write为相同的代码提供不同的输出?
- 2. 为什么以下两个代码提供不同的结果?
- 3. 为什么下面的代码提供 '未定义' 内输出
- 4. 为什么下面这段代码会提供不同的结果?
- 5. 为什么我的代码为同一个词提供不同的数字?
- 6. 为什么下面的两个代码会生成不同的输出?
- 7. 为什么下面的Java代码每次都有不同的输出?
- 8. 为什么onclick监听器会提供不同的输出?
- 9. 为什么执行时间与以下SQL Server代码不同?
- 10. 为什么操作员为不可变对象提供不同的输出?
- 11. 为什么输出不同?
- 12. 为什么Visual C++和g ++为我的程序提供不同的输出?
- 13. 为什么下面的flex代码不显示输出?
- 14. 为什么输出下面的代码1而不是0?
- 15. 为什么它会为每个值提供相同的输出?
- 16. 为什么输出与我预期的代码不同?
- 17. Android - 为不同的设备执行不同的代码
- 18. 为什么相同的MATLAB代码运行不同的算法?
- 19. 为什么相同的代码在不同的页面显示不同?
- 20. 为什么不同的C编译器为C程序提供不同的输出?
- 21. 为什么我运行相同的代码但名称不同时会得到不同的输出结果?
- 22. 为什么“阅读”的行为与相同的输入不同?
- 23. Java和Python代码提供不同的输出?
- 24. 为什么Crypto ++中的AES代码提供不同的性能结果?
- 25. 为什么css \ html代码在不同主机中的行为方式不同?
- 26. 为什么输出的行为与ssh有所不同?
- 27. 为什么下面的程序在C++中给出不同的输出?
- 28. 如何为不同的事件执行相同的代码
- 29. 为什么\ 0在java中的不同系统中输出不同的输出
- 30. 为什么Weka GUI输出与Java代码不同?
因为除非同步,并发性本质上是非确定性的。 – Douglas
“Knock!Knock!Race condition,Who's there?” – Andrei15193