所以我有一堂课是这样安排的:
public class NetworkServer
{
private BlockingCollection<byte[]> receivingQueue;
public NetworkServer(IPEndPoint endpoint, int packetsize)
{
receivingQueue = new BlockingCollection<byte[]>(new ConcurrentQueue<byte[]>());
// Do some other stuff here
}
public ~NetworkServer()
{
// Do some stuff here
Task.Factory.StartNew(() => Parallel.ForEach<byte[]>(receivingQueue, item => SomeOtherClass.ParseItem(item)));
}
}
在Task.Factory.StartNew
析构函数中,我想知道这是否会创建一个新线程,即使实例NetworkServer
可能被垃圾收集,也会继续运行。如果这不起作用,那么在新线程上解析每个项目/在 GC 实例之后解析项目的最佳方法NetworkServer
是什么。此外,ParseItem
如果不清楚,将在不同的班级。
谢谢。