Kotlin / Quasar Fiber 警告和退出

Kotlin / Quasar Fiber Warning and Quitting

我正在研究 Kotlin 和 Quasar,我正在尝试制作 "Boom" 游戏。我认为我的代码很好,但是当我执行时,它有时会发出 is hogging the CPU or blocking a thread. 警告或直接退出。

我是不是做错了什么?

gist

编辑:full output

  1. 由于您正在生成 actor 但不是从主线程加入它们,后者可能会在前者完成执行之前退出。看看 LocalActor.join.
  2. 如果您加入两个演员,您的程序将在一个失败时挂起,因为另一个将永远等待消息。失败时向其他参与者发送退出消息,或者使用超时接收并在发生超时时退出。
  3. 警告是完全正常的,因为 Quasar 运行时和 JVM 在执行您的程序时仍然 "warming up",因此例如在您的跟踪中,Quasar 正在执行一次性线程阻塞操作,同时验证您的可暂停注释. 相反,我在 stdout 上打印时得到了它(这是一个线程阻塞操作),大概是因为 JVM 还没有优化该代码路径(可能它仍然是 运行 它处于解释模式)。如果需要 with the co.paralleluniverse.fibers.detectRunawayFibers system property.
  4. ,可以禁用该警告