我们正在开发一款使用 Java 作为服务器端编程的游戏。老实说,我对Java一无所知。
对于一个表,我们使用 7-10 个线程,最多有 80-100 个表,这将达到 1000 个运行后端的线程。
它有多糟糕,这会在更长的时间内搞砸应用程序吗?感谢您的投入
谢谢,萨蒂什。
我们正在开发一款使用 Java 作为服务器端编程的游戏。老实说,我对Java一无所知。
对于一个表,我们使用 7-10 个线程,最多有 80-100 个表,这将达到 1000 个运行后端的线程。
它有多糟糕,这会在更长的时间内搞砸应用程序吗?感谢您的投入
谢谢,萨蒂什。
检查这个答案。它将解释大部分事情: Java VM 可以支持多少个线程?
还可以考虑重新设计您的应用程序。
我的第一个想法是:不要这样做。如果您有一个需要多个线程的应用程序,那很好。但是请考虑您计算机的底层架构(处理器)一次只能运行这么多线程。操作系统 (OS) 通过在任何给定时间不断切换正在执行的线程来模拟多任务处理。例如,如果您有一个简单的单核处理器,一次只能在其上运行一个线程,因此如果有多个线程,操作系统将不得不交换当前正在执行的线程。当然,这过度简化了事情并忽略了计算机上运行的所有其他应用程序,但这是事物的一般概念。
如果您有很多可以线程化的任务,请考虑使用线程池(或使用库为您完成),其中您有一定数量的线程将从队列中运行任务。
不要这样做。线程需要由进程拥有,而不是像 Table 这样的实体。使用 a ThreadPool
,通常ScheduledThreadPoolExecutor
倾向于在大多数情况下工作,并且表应该请求访问此资源。