知道为什么在控制台中没有打印任何内容?
我的研究让我相信我们无法在静态构造函数中启动任务,但下面的示例甚至没有静态构造函数。
我添加private static readonly Foo instance = new Foo();
的原因是因为我需要实现单例模式。代码是单例模式的不完整实现。为了便于阅读,我删除了代码。
class Program
{
static void Main(string[] args)
{
Foo t = new Foo();
Console.WriteLine("Program finished");
Console.Read();
}
}
public class Foo
{
private static readonly Foo instance = new Foo();
public Foo()
{
Random rnd = new Random();
Task t = Task.Factory.StartNew(() =>
{
int r = rnd.Next();
Bar(r);
});
Task.WaitAll(t);
Console.WriteLine("Foo finished");
}
static void Bar(int value)
{
Console.WriteLine(value);
}
}