我如何在一个单独的线程中开始上课
本文关键字:线程 单独 开始 一个 | 更新日期: 2023-09-27 18:10:39
我想知道。我如何在一个单独的线程中开始上课?我想在一个单独的线程中处理外部事件。我是怎么做到的。我试过使用无限循环,但是没有用。
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));
}
当我在控制台中调用Show()方法时打印主流的id
您不应该在Run
中显式地创建Task
。只需在Run
内部创建while(true)
循环,并通过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);