我有一个执行永久循环的actor,它正在等待操作数据的可用性。 文档说Actor在一个非常轻量级的线程上运行,所以我不确定我是否可以在该actor上使用thread.sleep()方法。我的目标是不让那个演员消耗太多的处理能力。
那么我可以在actor中使用thread.sleep()方法吗?
答案 0 :(得分:3)
在演员中不要sleep()
!这会导致线程被阻止,从而导致您正在尝试避免使用资源。
相反,如果您只是处理消息并“不执行任何操作”,则Actor将不会耗尽任何调度资源,并且将只是堆上的另一个普通对象(占用大量内存但没有其他内容)。