Scala Actors:如果 React 永远不会返回,为什么它需要循环{},为什么 while(true) 不起作用?

2024-01-24

刚刚开始使用 Scala Actors。这斯卡拉网站 http://www.scala-lang.org/node/242 says:

可以通过使用来避免线程阻塞操作react等待 新消息(基于事件的挂件receive)。然而,有一个 (通常很小)支付的价格:react永远不会回来。

...

请注意,使用react里面一个while循环不起作用!然而, 由于循环很常见,因此有特殊的库以形式支持它 的一个loop功能。它可以这样使用:

loop {
  react {
    case A => ...
    case B => ...
  }
}

我现在很困惑 - 似乎有一个矛盾:

a) If react永远不会返回,那么将其放入循环有什么意义呢?

b) 自从loop重复执行一个块,有什么不同while(true)- 为什么不while有效,以及以什么方式“无效”?


两种功能,loop and react不纯粹。loop通过名称参数进行调用并react一个 PartialFunction,两者都在原始 actor 上设置变量。这是因为演员并不总是有一条线索。仅当其消息框中有消息时,它才会变为活动状态。这就是为什么一个while(true)将导致 100% cpu 使用并且 actor 没有响应。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Scala Actors:如果 React 永远不会返回,为什么它需要循环{},为什么 while(true) 不起作用? 的相关文章

随机推荐

  • IIS URL 重写

    好吧 这让我发疯 我正在尝试像这样重写我的网址 Now http www somedomain com Somepage aspx http www somedomain com AnotherPage aspx Desired http
  • 在append()上做一些事情

    当元素附加到 DOM 时是否可以添加某种事件 处理程序 click change keyup 等等 我需要在附加元素后立即获取其高度 然后将高度设置为另一个元素 您可以覆盖默认的追加方法并使其触发自定义追加事件 然后将处理程序绑定到该事件的
  • 用于读取电子邮件的 PHP 库

    我目前使用 SwiftMailer 库send电子邮件 但不幸的是它只能发送 不能接收 我想知道 是否有一个类似的库可以通过 IMAP 连接到电子邮件帐户并阅读电子邮件 IE 使我能够循环浏览电子邮件 我知道这里有一组 PHP IMAP 函
  • 托管 C# 应用程序需要 64 位 SQLite DLL

    我正在尝试将 SQLite 嵌入到我的便携式 C NET 2 0 应用程序中 而不是将 DLL 文件包含在分发文件夹中 但是 要嵌入 SQLite 我无法使用 PHXSoftware 提供的混合模式库 相反 我使用他们的 仅限托管 版本 这
  • WCF 服务应该返回普通的旧对象,还是您正在使用的实际类?

    我正在使用另一家公司的 WCF 服务 它返回一个类型的对象object 是否有理由不返回实际的类 并返回必须转换为正确形式的对象 例如 如果 Web 服务返回一个类型的对象OrderStatus 为什么你要返回一个普通的旧的object 如
  • 在 Java 中打印到特定打印机 (IPP URI)

    Java中有没有办法打印到特定的IPP打印机 我发现的所有示例代码和教程都集中于如何使用如下内容打印特定类型的文档 DocFlavor flavor DocFlavor INPUT STREAM POSTSCRIPT PrintReques
  • UIImageView+animatedGIF 总是循环

    我使用了 mayoff Rob Mayoff UIImageView animatedGIF 制作的类 这是在 stackoverflow 上的答案之一中提出的 UIImageView 动画GIF https github com mayo
  • 如何在 TextBox 上使用 JQuery 的拖放功能?

    我正在使用 JQuery 并想要移动一个文本框 就像使用draggable 函数拖动它一样 并使其成为 droppable 以便在其上放置一些属性 我无法使文本框可拖动或可放置 只有当我用 Div 包围文本框时 这才成为可能 为什么会这样呢
  • 为什么Groovy的map没有metaClass?

    为什么 Groovy 的文字映射没有元类 lists work as expected aList println aList class class java util ArrayList println aList metaClass
  • 将networkx图导出到json图文件的方法?

    我有一个后续问题要问将networkx图保存为json图的方法 https stackoverflow com questions 3162909 method to save networkx graph to json graph 但
  • 高频 Ajax 和 MySQL 睡眠过载

    我目前正在开发一个轻型 php 框架 以便与我的网站的一些高请求 ajax 一起使用 并且遇到了一个有趣的问题 让我完全陷入困境 ajax 用于一系列通知 因此 javascript 每 30 秒发送一次 ajax 请求以获取新信息 这个
  • 检测自动过滤器更改

    我希望检测特定表上自动筛选器中的任何更改 目的是强制 UDF 对当前可见的表条目执行一些简单的算术以更新其结果 到目前为止 使 UDF 具有易失性还没有产生任何影响 但它也不直接针对表 这个解决方案 https stackoverflow
  • 无法访问静态上下文中的非静态字段 [字段名称]

    基类 public class DatabaseBase private readonly string connectionString private bool useCounters public DatabaseBase strin
  • 将数据从 GSP 传递到 Grails 中的控制器

    我根据数据库中的行创建一个带有控件的 GSP 页面 这取决于返回的值
  • 在 p:selectOneMenu 中使用带有 null/空值的“请选择”f:selectItem

    我正在填充一个
  • 如何使用 Postman 向 Django REST Framework 进行身份验证

    我试图弄清楚如何使用 Postman 向 Django REST Framework 进行身份验证 我有一个邮递员拦截器 但无论我尝试什么 我似乎都会收到 403 CSRF 验证失败 请求被中止 在 Chrome 中 我转到 DRF 的默认
  • Java DecimalFormat 的 C# 等效项是什么?

    我如何将以下代码转换为 C DecimalFormat form String pattern for int i 0 i lt nPlaces nDec 2 i pattern pattern 0 for int i nPlaces nD
  • Git 不允许我合并

    晚上好 我知道这是很常见的 互联网上可能有数千个答案 但我找不到一个有用的答案 我在当地有两个分行 MASTER Mk 我对 Mk 做了很多更改 提交了这些 然后切换到 MASTER 来合并这两个分支 但也有冲突 所以现在我在 MASTER
  • 如何使用 VBA 从 64 位 Windows Vista 调用 ActivateKeyboardLayout

    在 XP 下运行 VBA 我能够调用 ActivateKeyboardLayout 将我的输入语言从英语切换到另一种语言 然而 这在 Vista64 下不再起作用 有什么建议或解决方法吗 过去在 XP 下工作的代码类似于以下内容 Priva
  • Scala Actors:如果 React 永远不会返回,为什么它需要循环{},为什么 while(true) 不起作用?

    刚刚开始使用 Scala Actors 这斯卡拉网站 http www scala lang org node 242 says 可以通过使用来避免线程阻塞操作react等待 新消息 基于事件的挂件receive 然而 有一个 通常很小 支