关于C#多线程的问题

2024-11-15 13:43:11
推荐回答(3个)
回答(1):

你是怎么调用用Threadtest的,一般应该是这样

Threadtest t = new Threadtest();
t.threadtest();//启动线程
t.outthread();//此时就会进入foreach,form2此时还未显示出来


至于那个hide的问题,只有当showdialog出来的form2窗体hide或者关闭之后,创建form2的那个线程才能继续向下执行,向下执行的结果当然就是线程结束了。你可以简单的把test改成这样看看

private static void test()
{
    Form2 form2 = new Form2();
    form2.ShowDialog();
    int i = 0;
    while (true) //当你hide掉form2或者关闭之后,这个循环才开始运行
    {
        Console.WriteLine(i++);
        Thread.Sleep(100);
    }
}

回答(2):

线程的生命周期已经完了,listThread都是空的,怎么会执行foreach语句呢?

回答(3):

代码不全 无法解答