加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读