在这些工作线程中,有另一个验证线程,定期执行检查以查看主机(应用程序运行的主机)是否仍然“良好”运行该应用程序。此线程更新一个AtomicBoolean值,工作线程在开始查看之前会验证它以查看主机是否OK。
我的问题是,在CPU负载高的情况下,负责验证的线程将花费更长的时间,因为它必须与所有其他线程竞争。如果在一定时间后AtomicBoolean没有被更新,则自动设置为false,给我带来了一个不好的瓶颈。
我的初始方法是提高验证线程的优先级,但深入挖掘后,我发现这不是一个可靠的行为,算法不应依赖于线程优先级来正确运行。
有没有其他的想法?谢谢!