我试图多次使用线程并让线程停止处理,如果用户反应不够快。多次使用线程
Thread ask = new Thread (new ThreadStart (MathQuiz.prompt));
ask.Start();
ask.Join(30000);
if (answer == 4)
{
score = score+1;
answer = 0;
}
Console.WriteLine();
Console.WriteLine("Press any key to move on to the next question!");
Console.WriteLine();
Console.ReadKey(true);
Console.WriteLine("What is 15/3?");
Console.WriteLine();
ask.Start();
ask.Join(30000);
if (answer == 5)
{
score = score+1;
answer = 0;
}
...
static void prompt()
{
preanswer = (Console.ReadLine());
if (!decimal.TryParse(preanswer, out answer))
{
Console.WriteLine("That wasn't even a number or decimal!");
}
else
{
answer = decimal.Parse(preanswer);
}
}
眼下它似乎并不认为,“提示”线程被终止,因此它的第二个问题开始时崩溃。
所以我需要一个解决方案!我当然不介意回答问题来帮助自己得到答案。
你可能想看看这个问题,我认为是相关的解决方案:http://stackoverflow.com/questions/142826/is-there-a-way-to-indefinitely-pause-a-thread/143153#143153 – blueberryfields 2011-01-21 01:08:34