Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin/Quasar光纤警告和退出_Kotlin_Quasar - Fatal编程技术网

Kotlin/Quasar光纤警告和退出

Kotlin/Quasar光纤警告和退出,kotlin,quasar,Kotlin,Quasar,我在研究科特林和类星体,我想做一个“繁荣”的游戏。我认为我的代码很好,但当我执行时,它给出了占用CPU或阻塞线程的提示。警告或只是退出,有时 我是不是做错了什么 编辑: 由于您正在生成参与者,但没有从主线程加入他们,因此后者可能在前者完成执行之前退出。看一看 如果您同时加入两个参与者,当其中一个参与者失败时,您的程序将挂起,因为另一个参与者将永远等待消息。失败时向其他参与者发送退出消息,或使用带有超时的接收,如果发生超时则退出 警告是完全正常的,因为在执行程序时,Quasar运行时和JVM仍在

我在研究科特林和类星体,我想做一个“繁荣”的游戏。我认为我的代码很好,但当我执行时,它给出了占用CPU或阻塞线程的提示。警告或只是退出,有时

我是不是做错了什么

编辑:

  • 由于您正在生成参与者,但没有从主线程加入他们,因此后者可能在前者完成执行之前退出。看一看
  • 如果您同时加入两个参与者,当其中一个参与者失败时,您的程序将挂起,因为另一个参与者将永远等待消息。失败时向其他参与者发送退出消息,或使用带有超时的接收,如果发生超时则退出
  • 警告是完全正常的,因为在执行程序时,Quasar运行时和JVM仍在“预热”,因此,例如,在跟踪中,Quasar在验证可挂起的注释时正在执行一次性线程阻塞操作。 在这里,我在打印stdout时得到了它(这是一个线程阻塞操作),可能是因为JVM还没有优化代码路径(可能它仍然在解释模式下运行)。如果需要,可以禁用该警告

  • 你有-javaagent吗?是的,我们需要代理或构建任务来检测AFAIK。它运行了大约3/5次,但有2/5次我收到警告或意外退出。我可以建议您在网络研讨会上查看github上的演示:@Hyperion您的代码在大约20次运行中对我来说运行得很好。@JakobBowyer将行“Math.random()>0.2”更改为“Math.random()>0”拜托,它不会永远运行,有时还会发出警告:/Thx很多!我加入了我的一个演员,禁用了Detectrunaway光纤