Tag: 并行处理

如何等待所有线程完成,使用ExecutorService?

我需要一次执行一些任务4,如下所示: ExecutorService taskExecutor = Executors.newFixedThreadPool(4); while(…) { taskExecutor.execute(new MyTask()); } //…wait for completion somehow 一旦所有这些都完成,我怎么能得到通知? 现在我想不出比设置一些全局任务计数器好多less,并在每个任务结束时减less它,然后在无限循环监视这个计数器变成0; 或者得到一份期货清单,并在无限循环监测isDone所有这些。 什么是不涉及无限循环的更好的解决scheme? 谢谢。

使用MPI在C中发送二维数组块

你如何发送二维数组块到不同的处理器? 假设二维数组大小为400×400,我想发送100X100大小的块到不同的处理器。 这个想法是,每个处理器将在其单独的块上执行计算,并将其结果发送回第一个处理器以得到最终结果。 我在C程序中使用MPI。