【发布时间】:2020-06-06 14:50:48
【问题描述】:
在我的应用程序中,我想根据用户的输入创建线程。 例如,如果用户提供 10 个,我只需创建一个包含 10 个线程的池来执行某些操作。无法控制用户的输入。如果用户提供 10k 作为输入,我不想创建 10k 线程。这对机器来说太过分了。有什么建议吗?
如何控制线程池计数?
如何计算我可以在给定机器上创建的最大线程数?
【问题讨论】:
-
无法控制用户的输入...:好吧,您拥有(并且想要)控制权。所以,
createThreads(Math.min(userInputNumber, maximumAllowedBySystemConfig))。如果用户可以重复请求,请跟踪您创建了多少。
标签: java multithreading concurrency operating-system threadpool