我正在研究实时系统。这需要每秒平衡负载。因此,当计算完成后,我将把一个线程置于睡眠状态,直到下一秒,我现在正在这样做:
Thread.sleep(((1000 - (Calendar.getInstance().getTimeInMillis() % 1000))));
但对我来说这看起来真的很难看。
你有任何改进的建议吗?
答案 0 :(得分:2)
不要让线程都休眠一段时间,让线程等待来自经理线程的信号。
这样,只有一个线程需要跟踪滴答,其他线程只需要工作,然后等待信号做更多的工作。