关于C#线程运行的问题,求support!
写了一个简单的线程执行的代码,执行过程好晕啊,
单步调试运行到打印语句1,程序进入子线程的方法2,当运行到打印语句3时,终端才显示1中的信息;语句3执行结束返回4,终端才显示打印语句3的内容。
这是什么运行过程?
求大家帮忙指点一下,此类线程执行过程是怎样的?打印语句执行后为什么不能正常直接显示?谢谢!
namespace merge
{
class merges
{
public static void Main(String[] args)
{
Console.WriteLine("hahng");
Thread t = new Thread(new ThreadStart(run));
t.Start();
Console.WriteLine("ping"); ------1
Console.ReadLine(); -----4
}
public static void run() -------2
{
pong();
}
private static void pong() {
Console.WriteLine("pong"); -------3
}
}
}