[英]What could cause code that's perfectly fine under .NET 4.5 to be CPU greedy under 3.5?
我正在使用netmq的最新預發行版,發現以下程序在.NET 4.5下幾乎不消耗CPU,但在框架3.5版下固定為13%。
class Program
{
static void Main(string[] args)
{
ThreadPool.QueueUserWorkItem((o) =>
{
using (NetMQContext context = NetMQContext.Create())
{
using (NetMQSocket requester = context.CreateRequestSocket()) // creating this socket seems to fix cpu consumptio at 13%.. why?
{
Console.WriteLine("LOADED");
Console.ReadKey();
}
Console.WriteLine("DISPOSED SOCKET");
Console.ReadKey();
}
Console.WriteLine("DISPOSED CONTEXT");
Console.ReadKey();
});
while (true) Thread.Sleep(1000);
}
}
有人知道這種意外行為的潛在原因嗎?
編輯:確認這發生在.NET 3.5中,並且不在4或4.5中發生
因此,問題似乎出在.Net 3.5中,Socket.Select有一個錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.