0

我有一个运行 20 个线程的 Windows 服务。每个线程管理一个远程设备。线程基本上只是访问数据库(SQL Server)并通过 TCP/IP 发送和接收消息。没有花哨的算法或繁重的处理。在具有大量内存的 8 核 CPU 中,此过程占用 80%。

我没有在此服务上运行分析器,但我已经看过代码数百万次了……这只是一个 while 循环,在循环结束时休眠了 500 毫秒。因此,循环内的代码在 1 秒的时间范围内仅执行 2 次或更少次。

我想知道该进程是否受 I/O 限制,为什么 CPU 使用率如此之高?如果我降低进程优先级怎么办?

4

0 回答 0