我在写一个使用Java的服务器端应用程序。Java:我应该在这种情况下使用多线程吗?
该服务器包含系统的许多用户。对于每个用户,我想将其磁盘空间与远程网络存储器同步。因为同步是独立的,所以我在考虑同时执行它们。
我想为每个用户创建一个线程,并让同步任务同时触发。
但是该系统可以拥有数以万计的用户。这意味着一次创建数万个线程并同时启动。我不确定这是否是JVM可以处理的。
即使它可以处理这个问题,它会提高内存效率,因为每个线程都有自己的堆栈,这可能是一个大的内存命中!
请让我知道您的意见。
非常感谢。
barsju和samlewis都很好。如果使用非阻塞IO,则每个连接都不需要线程,而您需要的线程则需要使用线程池进行管理。 – 2012-04-15 11:28:24