我想知道。如何在单独的线程中启动类?我想在一个单独的线程中处理外部事件。我怎么能这样做我试图使用无限循环,但它没有帮助。
public class Class1
{
public void Run()
{
Task.Factory.StartNew(() =>
{
while (true)
{
}
}, CancellationToken.None, TaskCreationOptions.LongRunning, TaskScheduler.Default);
}
public void Show()
{
Console.WriteLine(AppDomain.GetCurrentThreadId().ToString(CultureInfo.InvariantCulture));
}
当我在主流的控制台打印id中调用Show()方法时。
答案 0 :(得分:0)
您不应在Task
内明确创建Run
。只需在while(true)
中创建Run
循环,然后通过Task.Run
public class Class1
{
public void Run()
{
while (true)
{
// Do stuff in loop
}
}
}
然后叫它:
Task.Run(() => new Class1().Run(), CancellationToken.None, TaskCreationOptions.LongRunning, TaskScheduler.Default);