Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.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
Java应用程序中可以有多少线程?_Java_Multithreading - Fatal编程技术网

Java应用程序中可以有多少线程?

Java应用程序中可以有多少线程?,java,multithreading,Java,Multithreading,我们正在开发一个使用Java作为服务器端编程的游戏。老实说,我对Java一无所知 我们使用7-10个线程,对于一个表,最多有80-100个表,这将达到1000个线程运行后端 这有多糟糕,从长远来看,这会使应用程序出错吗?? 谢谢你的意见 谢谢, 萨蒂什。检查这个答案。它将解释大部分事情: 也考虑重新设计你的应用程序。P>我的第一个想法是:不要这样做。如果您有一个需要多线程的应用程序,那么这很好。但是,考虑到计算机的底层架构(处理器)只能一次运行这么多线程。操作系统(OS)通过在任何给定时间不断

我们正在开发一个使用Java作为服务器端编程的游戏。老实说,我对Java一无所知

我们使用7-10个线程,对于一个表,最多有80-100个表,这将达到1000个线程运行后端

这有多糟糕,从长远来看,这会使应用程序出错吗?? 谢谢你的意见

谢谢,
萨蒂什。

检查这个答案。它将解释大部分事情:


也考虑重新设计你的应用程序。

P>我的第一个想法是:不要这样做。如果您有一个需要多线程的应用程序,那么这很好。但是,考虑到计算机的底层架构(处理器)只能一次运行这么多线程。操作系统(OS)通过在任何给定时间不断切换正在执行的线程来模拟多任务。例如,如果您有一个简单的单核处理器,一次只能在其上运行一个线程,因此如果有多个线程,操作系统将不得不交换当前正在执行的线程。当然,这过分简化了事情,忽略了计算机上运行的所有其他应用程序,但这只是一般的想法


如果你有很多可以被线程处理的任务,考虑使用一个线程池(或者使用一个库来为你做),你有一组从队列中运行任务的线程。

< P>不要这样做。线程需要由进程拥有,而不是像表这样的实体。使用
ThreadPool
,通常
ScheduledThreadPoolExecutor
在大多数情况下都能工作,表应该请求访问此资源。

您实际上需要一些认真的重新设计。游戏通常不会运行那么多线程。我已经为你提供了下面的链接,我希望它对你有用。这可能会导致饥饿简短的回答,是的。如果您是Java新手,并且正在使用那么多线程,您可能会遇到线程问题。线程问题是任何编程语言中最难解决的问题。1000个线程?这不是游戏,而是恶意软件:D