线程没有启动

时间:2014-01-04 15:37:54

标签: c# multithreading

我正在尝试在C#的控制台应用程序上运行时钟。它应该是非常直接的s =使用线程和秒表,但不知何故我不能启动线程..这里是代码:

public static void showBoard()
{
    for(int i = 0 ; i< 40 ; i++)
    {
        for (int j = 0 ;j<40 ; j++)
        {
            Console.Write(board[i, j]);
        }
        Console.Write('\n');
    }
    Thread t = new Thread(Timer);
}

public static void Timer()
{
    Stopwatch stopwatch = new Stopwatch();
    stopwatch.Start();
    while (true)
    {
        Console.SetCursorPosition(45, 1);
        Console.Write(stopwatch.Elapsed.ToString());
    }
}

功能计时器甚至不开始执行,请告诉我我做错了什么。

5 个答案:

答案 0 :(得分:8)

你忘记了什么

t.Start();

需要明确启动线程,否则它们不会运行。

答案 1 :(得分:6)

答案 2 :(得分:2)

您需要显式启动一个线程。 使用t.Start() ;

这样做

    Thread t = new Thread(Timer).Start() ;   

如果您需要更多信息,请查看以下链接: -
http://msdn.microsoft.com/en-us/library/aa645740%28v=vs.71%29.aspx
http://www.codeproject.com/Articles/6678/Introduction-to-Threads-in-C http://www.albahari.info/threading/threading.pdf

答案 3 :(得分:2)

您需要添加...

t.Start

...开始你的主题。

答案 4 :(得分:1)

您已经创建了线程类的对象,现在您必须启动该线程,您可以使用Start()方法。

 Thread t = new Thread(Timer);
 t.Start();