如何在c#中将多个线程输出到同一个控制台行

时间:2016-05-12 17:04:14

标签: c# multithreading console

我想运行所有3个线程main,t1和t2。他们的输出应该都转到同一个控制台线。

他们同时运行但是打印件之间有一些线差异请告诉我如何连续打印所有这3个线程在同一行中

        mytask mt = new mytask();
        Thread t1 = new Thread(new ThreadStart(mt.code2));
        Thread t2 = new Thread(new ThreadStart(mt.code3));

        Thread.CurrentThread.Name = "Current Thread";
        t1.Name = "Code 2";
        t2.Name = "Code 3";
        Console.WriteLine(t2.Name + "\t\t"+ t1.Name+"\t\t"+Thread.CurrentThread.Name);
        t1.Start();
        t2.Start();

        for (int i = 1; i < 60; i++)
        {
            Console.WriteLine("\t\t\t\t\t\t" + i);
            Thread.Sleep(1000);
        }
    }
}

class mytask
{
    public void Code2()
    {
                for (int k = 0; k < 60; k++)
                {
                    Console.WriteLine("\t\t\t" + i + " : " + j + " :" + k);
                    Thread.Sleep(1000);
                }
          }
    public void code3()
    {
        for (int k = 0; k < 60; k++)
        {
            Console.WriteLine("Printing");
            Thread.Sleep(1000);

        }
    }
}

1 个答案:

答案 0 :(得分:1)

如果您希望输出显示在一行中,请使用Console.Write代替Console.WriteLine。它不会每次都添加换行符。