Java - 如何使UI线程与逻辑/数据线程通信?

时间:2018-04-22 05:16:39

标签: java multithreading user-interface communication

我正在编写一个小游戏。我已经在一个Java项目中实现了我的逻辑,它正常工作(在控制台中使用Scanner处理输入)。

现在,下一步是创建一个用户界面,并根据用户在特定位置生成的点击次数替换我的扫描仪输入。

我真的不知道怎么做,因为我需要UI线程和逻辑线程。但是,我真的不知道如何编排不同的方法调用以及如何启动程序(因为我可能有2个主要方法)。

我的想法是在UI线程中移动main函数,启动程序。然后它处理用户在菜单上的点击,并启动一个线程来启动游戏的逻辑。 1 - 这是正确的吗?

因为游戏是轮流玩的,所以我需要循环以下场景:   - 用户点击,它将数据发送到逻辑线程( 2 - UI应该等待,但这可能吗?) - 逻辑线程计算结果并更新UI( 3 - 如何?通过直接将数据返回到UI线程?) - 逻辑线程等待。 UI线程等待另一次点击,并将其发送到逻辑线程等...

如果我不重用逻辑线程,逻辑线程中包含的数据将丢失。所以我认为我需要保持逻辑线程的活着

要继续:如何处理UI与我和我的逻辑/数据模块之间的线程(及其通信)?

谢谢!

0 个答案:

没有答案