做了一个console程序,里边调用线程池,为方便调试添加了Console.Read()查看测试结果,做完后删除Console.Read()重新执行程序,发现程序一闪而过,线程任务都没执行,添加Console.Read()后又没问题的,不知该如何解决。(因作为计划任务,所以不能有Console.Read())

解决方案 »

  1.   

    一闪而过,应该是执行完了吧,  如果没有  read() 或 什么 readkey() 程序跑完了就会退出的。
      

  2.   

    试过了,不行的。
    添加read()后命令行里会显示程序里Console.WriteLine()的提示信息,
    删除read()后程序一闪而过,不知是否跟线程池有关系。
      

  3.   

    主线程执行完了肯定结束了啊,你用Console.Read()这里阻塞了主线程,所以不会结束。想办法让主线程等待线程池任务完成然后结束就行了。
      

  4.   

    因为你的操作是在线程里执行的,而主程序只是新开线程任务后就结束了。主程序结束了后自然开的线程也结束了。你可以加个Application.Run();    static void Main(string[] args)
        {
             你的操作;
             Application.Run();
        }
      

  5.   


        class Program
        {
            static Thread _Thread;
            static void Main(string[] args)
            {
                _Thread = new Thread(Run);
                _Thread.Start();
            }        private static void Run()
            {
                for (int i = 0; i < 1000000; i++)
                {
                    Console.WriteLine(i);
                }
            }
        }已测试,没问题。