(真)循环停止?

时间:2018-05-24 02:41:24

标签: c# multithreading while-loop infinite-loop

目前正在学习使用Threads,并制作了一个将随机ASCII字符写入控制台窗口的控制台应用程序。我创建的方法工作得很好,但文本在大约三个半(ish)行之后停止。为什么循环会停止?不是我需要循环运行永远或任何东西,我只是好奇为什么(应该是)无限循环意外停止。这是我正在使用的代码:

static void Main(string[] args)
{
 Thread ThreadKeyboard = new Thread(new ThreadStart(RandomKeyboard));
 ThreadKeyboard.Start();
        //Wait for input
        Console.Read();
 ThreadKeyboard.Abort();
}

public static void RandomKeyboard()
{
    Console.WriteLine("Random Keyboard Thread Started");

    while (true)
    {
        char key = (char)(rand.Next(25)+65);
        if (rand.Next(2) == 0)
        {
            key = char.ToLower(key);
        }

        SendKeys.SendWait(key.ToString());
        Thread.Sleep(rand.Next(50));
    }     
}

0 个答案:

没有答案