我正在做一种事件循环来处理 Java 中的多个非阻塞套接字。问题是当我保持循环不变时,它使用了整个核心。(例如,我有一个四核,每次启动程序时,CPU 每次都会跳到 25%。)
我知道我可以使用 Thread.sleep() 来减慢处理器的使用速度,但我想知道是否有合适的方法来做到这一点。我觉得 Thread.sleep(1) 可能会限制我的事件循环。
所以我的问题是,我该怎么做?有正确的方法吗?我应该降低线程的优先级吗?我应该使用 Thread.sleep(0, someNanosecondsAmount) 吗?