java中嵌套for循环的多线程处理

java中嵌套for循环的多线程处理,java,multithreading,Java,Multithreading,如何在嵌套循环中多线程执行任务(例如2)。 考虑的任务是找到Gx(x,y),其中x’和y’很大,比如10 ^ 6。 我创建了10个线程,希望每个线程计算唯一(x,y)的GCD。解决方案由3部分组成。中心部分是一个大小受限的队列,用于保存小任务,每个任务计算给定x和y的GCD(x,y)。第一部分是一个线程,它为循环进行嵌套,为每个x和y生成新任务并将其放入队列。当队列已满时,方法queue.put()会阻塞以避免内存饱和。 最后一部分是线程池,它从队列中获取任务并执行它们。您可以从头开始实现工作线

如何在嵌套循环中多线程执行任务(例如2)。 考虑的任务是找到Gx(x,y),其中x’和y’很大,比如10 ^ 6。
我创建了10个线程,希望每个线程计算唯一(x,y)的GCD。

解决方案由3部分组成。中心部分是一个大小受限的队列,用于保存小任务,每个任务计算给定x和y的GCD(x,y)。第一部分是一个线程,它为循环进行嵌套,为每个x和y生成新任务并将其放入队列。当队列已满时,方法queue.put()会阻塞以避免内存饱和。
最后一部分是线程池,它从队列中获取任务并执行它们。您可以从头开始实现工作线程,或者使用阻塞队列创建线程池,如

中所述。到目前为止,您做了哪些尝试?计算每个参数对的GCD(x,y)是否独立于计算其他参数?也就是说,GCD(x,y)是纯函数而没有副作用吗?是的@AlexeiKaigorodov Kaigorodov是独立的你知道如何启动线程吗?你知道如何等待线程完成吗?如果没有,读一些书。如果是,你有什么问题?@slim,我的问题不是“如何使用”,而是“在哪里”和“何时”使用。