Java 2D游戏中有多少线程?

Java 2D游戏中有多少线程?,java,multithreading,swing,2d-games,Java,Multithreading,Swing,2d Games,我是新来的,我学习java已经两个月了。我实际上在学习线程和多线程,我有一个小问题。为了练习,我写了一个简单的2D纸牌游戏(如MTG或HearthStone)。目前我已经做了很多工作,但我想知道为了创建最高效的应用程序和养成良好的习惯,我必须使用多少线程 现在,我在EventQueue中有JFrame,还有其他类扩展了JPanel并实现了Runnable,这是我的棋盘,它有游戏循环(使用init()、uptade()和repaint()以及鼠标侦听器方法) 这对简单的游戏有好处吗?或者,电路板上

我是新来的,我学习java已经两个月了。我实际上在学习线程和多线程,我有一个小问题。为了练习,我写了一个简单的2D纸牌游戏(如MTG或HearthStone)。目前我已经做了很多工作,但我想知道为了创建最高效的应用程序和养成良好的习惯,我必须使用多少线程

现在,我在EventQueue中有JFrame,还有其他类扩展了JPanel并实现了Runnable,这是我的棋盘,它有游戏循环(使用init()、uptade()和repaint()以及鼠标侦听器方法)

这对简单的游戏有好处吗?或者,电路板上的每一张卡都应该有一个单独的线程,用于显示卡信息、重新喷漆等

我非常感谢你的帮助,
干杯

线程将大大增加程序的复杂度,因此请谨慎使用。(这也是对系统资源的巨大投入,但这不太可能是您的大问题)

我建议首先,将应用程序设为单线程。如果您发现游戏逻辑花费的时间太长,导致UI迟钝且无响应,您可能会考虑在单独的线程上运行UI和游戏逻辑,但这是不太可能的(除非您的纸牌游戏非常复杂)。 真正开始考虑多线程模型的地方是当您有多个客户端连接时——然后每个客户端都需要自己的线程,您必须处理它们之间的交互


我在Java中看到的关于线程的最好建议是,您几乎不需要显式地处理它们。我建议,如果您想在应用程序中加入一些多线程,请将其作为一种培训练习,但请注意,这可能不是您在生产中会做的事情。

线程将大大增加程序的复杂性,因此请谨慎使用。(这也是对系统资源的巨大投入,但这不太可能是您的大问题)

我建议首先,将应用程序设为单线程。如果您发现游戏逻辑花费的时间太长,导致UI迟钝且无响应,您可能会考虑在单独的线程上运行UI和游戏逻辑,但这是不太可能的(除非您的纸牌游戏非常复杂)。 真正开始考虑多线程模型的地方是当您有多个客户端连接时——然后每个客户端都需要自己的线程,您必须处理它们之间的交互


我在Java中看到的关于线程的最好建议是,您几乎不需要显式地处理它们。我建议,如果您想在应用程序中加入一些多线程,请将其作为培训练习,但请注意,这可能不是您在生产中会做的事情。

如果您的问题集中在单个问题或问题上,并且可以用代码或堆栈框架进行说明,则本论坛的形式会更好。以现在的形式,你的问题非常广泛,分散,答案很可能是基于观点的。在我看来,每张卡一个线程只是浪费资源。游戏本身一个线程可能是个好主意。如果你的问题集中在一个问题上,或者可以用代码或堆栈框架来说明的问题上,那么这个论坛的形式会更好。在目前的形式中,您的问题非常广泛、分散,答案可能是基于观点的。在我看来,每张卡上的线程只是浪费资源。游戏本身的线程可能是个好主意。好的,谢谢您的建议。当我学习Java时,我编写了许多简单的应用程序,这些应用程序会影响我的CardsGame项目中的某个特定问题好的,谢谢你的建议。当我学习Java时,我编写了许多简单的应用程序,这些应用程序会影响我的CardsGame项目中的某个特定问题