将ShowNum的方法修改一下,这样可以看到正在运行的线程的唯一标示,再将它正在执行的 i 打印出来,就可以看到启动了多少了线程,每个线程运行到哪里了。
void createThread()
{
//启动几个线程就可以看到结果了,不需要那么多
for (int i = 0; i < 5; i++)
{
Thread th = new Thread(new ThreadStart(showNum));
th.IsBackground = true;
th.Name = "线程"+i;
th.Start();
}
}
void showNum()
{
for (int i = 1; i <= 5;i++ )
{
//ManagedThreadId:获取当前托管线程的唯一标识符
Console.WriteLine("当前的线程的ManagedThreadId:{0},执行到{1}次", Thread.CurrentThread.ManagedThreadId, i);
Thread.Sleep(100);
}
}
结果:
当前的线程的ManagedThreadId:10,执行到1次
当前的线程的ManagedThreadId:11,执行到1次
当前的线程的ManagedThreadId:12,执行到1次
当前的线程的ManagedThreadId:14,执行到1次
当前的线程的ManagedThreadId:13,执行到1次
当前的线程的ManagedThreadId:10,执行到2次
当前的线程的ManagedThreadId:11,执行到2次
当前的线程的ManagedThreadId:12,执行到2次
当前的线程的ManagedThreadId:13,执行到2次
当前的线程的ManagedThreadId:14,执行到2次
当前的线程的ManagedThreadId:11,执行到3次
当前的线程的ManagedThreadId:10,执行到3次
当前的线程的ManagedThreadId:12,执行到3次
当前的线程的ManagedThreadId:14,执行到3次
当前的线程的ManagedThreadId:13,执行到3次
当前的线程的ManagedThreadId:11,执行到4次
当前的线程的ManagedThreadId:10,执行到4次
当前的线程的ManagedThreadId:12,执行到4次
当前的线程的ManagedThreadId:13,执行到4次
当前的线程的ManagedThreadId:14,执行到4次
当前的线程的ManagedThreadId:10,执行到5次
当前的线程的ManagedThreadId:11,执行到5次
当前的线程的ManagedThreadId:12,执行到5次
线程 '线程1' (0x53c) 已退出,返回值为 0 (0x0)。
线程 '线程0' (0x14d8) 已退出,返回值为 0 (0x0)。
线程 '线程2' (0x15ac) 已退出,返回值为 0 (0x0)。
线程 '线程4' (0x131c) 已退出,返回值为 0 (0x0)。
线程 '线程3' (0x15a8) 已退出,返回值为 0 (0x0)。
当前的线程的ManagedThreadId:13,执行到5次
当前的线程的ManagedThreadId:14,执行到5次
|