
static voID Main(){ Thread t = new Thread(ThreadTest.WriteY); t.Start(); for(int i = 0; i < 1000; i++) Console.Write("x");}public class ThreadTest{ public static voID WriteY() { for(int i = 0; i < 1000; i++) Console.Writeline("y"); }}解决方法 好吧,这样考虑吧. 给你的朋友一堆文件,并自己保持一堆.
然后你告诉你的朋友“开始在那些文件上写出数字”,然后立即开始做同样的事情.
现在告诉我,你们谁先完成?
而且,考虑到这是你的问题,为什么?
在这里确定性地输入正确的答案是不可能的,因为影响你们两个人的速度会有很多因素:
>开始写出数字
>写出数字
>继续下一张纸
所以基本上,你的朋友可能会在你设法开始之前开始,反之亦然,但事先你不知道,这不是“正确的答案”.
每次运行此程序时,它都有可能表现不同,至少在两个线程之间的执行顺序方面.
话虽如此,启动一个新线程会产生开销,这可能会使得规模有利于主线程在额外线程之前进入循环.但是,如果不可能发生相反的情况,我会感到惊讶.
总结以上是内存溢出为你收集整理的c# – 在这里解释线程执行顺序?全部内容,希望文章能够帮你解决c# – 在这里解释线程执行顺序?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)