我们正在开发一个使用Java作为服务器端编程的游戏。说实话,我对Java一无所知。
我们使用7-10个线程,对于一个表,最多有80-100个表,这将运行到后端的1000个线程。
它有多糟糕,这会使应用程序长时间搞砸吗? 感谢您的意见
谢谢, 萨蒂什南比亚。
答案 0 :(得分:2)
Similar question has already been answered,我在下面为您提供了链接,我希望它对您有用。
答案 1 :(得分:2)
检查这个答案。它会解释大部分事情: How many threads can a Java VM support?
还要考虑重新设计您的应用程序。
答案 2 :(得分:2)
我的第一个想法是:不要这样做。如果您的应用程序需要多个线程,那就没问题。但是请考虑您的计算机的底层架构(处理器)一次只能运行这么多线程。操作系统(OS)通过在任何给定时间不断切换正在执行的线程来模拟多任务。例如,如果您有一个简单的单核处理器,则一次只能在其上运行一个线程,因此如果有多个线程,操作系统必须交换当前正在执行的线程。当然,这会简化事情并忽略计算机上运行的所有其他应用程序,但这是事情的一般概念。
如果您有许多可以进行线程化的任务,请考虑使用线程池(或使用库为您执行此操作),其中您有一组将从队列中运行任务的线程。
答案 3 :(得分:0)
不要这样做。线程需要由进程拥有,而不是像Table这样的实体。使用ThreadPool
,通常ScheduledThreadPoolExecutor
往往适用于大多数情况,表应该请求访问此资源。