我用C#编写的代码:C# - 多线程
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Program re = new Program();
re.actual();
}
public void actual()
{
Thread input = new Thread(input_m);
Thread timing = new Thread(timing_m);
input.Start();
timing.Start();
}
public void input_m()
{
Console.WriteLine("Choose a number from 1-10 (You have 10 seconds): ");
Console.ReadKey();
}
public void timing_m()
{
System.Threading.Thread.Sleep(10000);
input.Abort();
Console.Clear();
Console.WriteLine("Time's up!");
Console.ReadKey();
}
}
}
现在,我得到这个错误:
Error 1 The name 'input' does not exist in the current context
它说,有关“input.Abort(); “线。
我可以以某种方式从另一个方法终止此线程(而不是从它创建的地方)?
我不想让它们成为静态的,所以请不要这么说。
Thread.Abort的()是真的真的[衰](http://stackoverflow.com/questions/710070/timeout-pattern-how-bad-is-thread-abort - 当然)... – Chris
'控制台'块。 –