java - 使用 GUI 元素的线程池中的线程数
问题描述
我有一个关于性能的问题,我有一个有 10 个 GUI 元素的程序,我使用线程池同时运行它们,因为我使用 10 个线程,但我想优化程序,我读过你可以使用您的 PC 拥有的核心数量,它会产生相同的效果,所以我使用了这个:
if(competition.getActiveCompetitors().size()>Runtime.getRuntime().availableProcessors())
numberOfThreads=Runtime.getRuntime().availableProcessors();
else
numberOfThreads=competition.getActiveCompetitors().size();
es = Executors.newFixedThreadPool(numberOfThreads);
Competition.getActiveCompetitors.size() 是 10 个 gui 元素(可能因用户输入而异),我使用 Runtime.getRuntime().availableProcessors() 来确定线程池的数量,例如我有 4 个,所以当我运行了 10 个元素,只运行了 4 个,在他们完成其他 4 个元素之后,有没有办法让整个 10 个元素用 4 个线程运行?或者我在想这一切都错了
解决方案
推荐阅读
- android - 导航标头不显示来自 Kotlin 中 MainActivity 的文本值
- ios - 无法在 UITableViewCell 中显示
- qt - QLineEdit 输入过滤
- javascript - 处理由另一个函数调用的异步函数时出现问题
- java - 程序类型已存在:com.google.android.gms.common.api.internal.zzd /android studio
- c++ - 使用 std::common_type_t 的 C++ 矩阵类运算符和复数的实现
- c++ - 在 C++ 中使公共数据成员无法访问
- android - 插入该行后,我的应用程序停止响应 myrv.setAdapter(myAdapter);
- javascript - 将 Object 属性值转换为浮点数
- asp.net-core - 如何使用“剃须刀页面”Error.cshtml 设置 app.UseExceptionHandler?