This might sound funny but I got a homework and I can`t make any sense of it. The statement sounds like this: "Find the 10 largest numbers in an array of 100.000 randomly generated integers. You will use threads to compare 2 numbers. A daemon thread will print at regular intervals the progress and the number of unchecked integers left."
我知道在论坛上就家庭作业寻求帮助是不合适的,但我真的很沮丧。。。。我只是想不出为什么以及如何使用线程来处理数字比较。。。。。尤其是当它是大约100.000个整数时。即使我用一个简单的方法浏览列表。例如,使用max变量并打印出所有值,最多也只需要150毫秒(我试过了)!!
你至少能给我一个开始的想法吗???
很抱歉浪费了你的时间!
--继续--
正如我在回复中所说,如果我只需要找到1个元素(最大的),那么将数组压缩成X个块(线程数)将是一个好主意,但因为我需要找到10个最大的元素,假设一个线程在其正在处理的块中找到其最大值,并丢弃其余的,也许其中一个被丢弃的元素实际上会比其他块中的其余元素大。这就是为什么我认为这不会是一个好结果。
请随意争论我的观点!