Kotlin / Quasar光纤警告和退出

时间:2016-02-01 01:57:00

标签: kotlin quasar

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

我做错了什么?

gist

修改:full output

1 个答案:

答案 0 :(得分:1)

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