Scala actor中的Thread.sleep
发布时间:2020-12-16 09:03:24 所属栏目:安全 来源:网络整理
导读:使用Thread.sleep(5000)是否正确;在演员里面?它是否真的让演员睡了5秒钟?是否有一个简单的替代方案让演员睡了几秒钟? 解决方法 在Akka中不建议任何阻止线程的东西.如果Actor配置了一个共享线程池(默认行为),那么使用Thread.sleep将保留该池中可能正在为其
使用Thread.sleep(5000)是否正确;在演员里面?它是否真的让演员睡了5秒钟?是否有一个简单的替代方案让演员睡了几秒钟?
解决方法
在Akka中不建议任何阻止线程的东西.如果Actor配置了一个共享线程池(默认行为),那么使用Thread.sleep将保留该池中可能正在为其他Actors工作的线程.
如果一个人真的必须阻止,那么一个actor可以被配置为拥有自己的线程.这可以通过为actor使用配置自定义调度程序来完成,完整的详细信息是here. 已知的阻止替代方法是通过计时器安排对actor的回调,例如在5秒后发送消息. akkaSystem.scheduler.scheduleOnce(5 seconds,actor,"msgFoo") Akka调度程序在此处记录:http://doc.akka.io/docs/akka/2.3.6/scala/scheduler.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |