在经典.NET中,我将IOCP用于高性能套接字,如下所示:
ThreadPool.GetMinThreads(out int minWorkerThreads, out int minCompletionPortThreads);
ThreadPool.SetMinThreads(minWorkerThreads, Math.Max(16, minCompletionPortThreads));
.NET Core不会公开这些方法,它会对我的套接字性能产生重大影响。
是否有解决方法或者是否会在将来的.NET核心版本中解决这个问题?
答案 0 :(得分:4)
GetMinThreads
和SetMinThreads
将在即将发布的.Net Core 2.0和.Net Standard 2.0中重新出现。
与此同时,这些方法存在于.Net Core 1.x上,但未公开。这意味着您可以使用反射来调用它们:
watch
在Windows 10和Ubuntu 16.04上,此代码似乎对.Net Core 1.x工作正常。您必须验证自己是否真正提高了性能,特别是考虑到Unix操作系统没有IOCP。