В то время как (правда) цикл останавливается? - PullRequest
0 голосов
/ 24 мая 2018

В настоящее время учится использовать потоки и создал консольное приложение, которое записывает случайные символы 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));
    }     
}
...