我需要找到使用控制台输入的数字是否完美,使用Java多线程,我真正需要的是创建指定数量的线程, 当用户在控制台上输入数字时,此方法检查它是否是完美的数字: 的 的
的 int temp 0;
for (int i = 1; i <= n / 2; i++) {
int temp = 0;
if (n % i == 0) {
temp += i;
}
的 我希望每个创建的线程从for循环的索引中取一个随机数(i) 检查它是否是数字n的一个因素,虽然我不希望任何因子被两个不同的线程同时检查,或者被检查两次, 感谢
答案 0 :(得分:1)
如果不使用某些内置机制,创建多线程应用程序来解决问题并不容易。
但是如果您决定自己这样做,我会建议您创建实现n
接口的Runnable
个线程。每个都应该知道它的id
并且使用这个id
来自数组的正确元素应该由线程进行检查 - i-th
线程可以使用元素1*i
,{{ 1}},...,2*i