"public class MultiThreadedForLoop {\n public static void main(String[] args) {\n int numThreads = 4; // 设置线程数量\n int[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};\n int arrayLength = array.length;\n int chunkSize = arrayLength / numThreads;\n Thread[] threads = new Thread[numThreads];\n\n for (int i = 0; i < numThreads; i++) {\n final int start = i * chunkSize;\n final int end = (i == numThreads - 1) ? arrayLength : start + chunkSize;\n\n threads[i] = new Thread(() -> {\n for (int j = start; j < end; j++) {\n // 在这里执行需要并行计算的操作,这里只是简单地打印数组的元素\n System.out.println(array[j]);\n }\n });\n threads[i].start();\n }\n\n // 等待所有线程执行完毕\n for (Thread thread : threads) {\n try {\n thread.join();\n } catch (InterruptedException e) {\n e.printStackTrace();\n }\n }\n }\n}"\n\n上述示例中,我们首先定义了需要并行计算的数组 array,然后设置了线程数量 numThreads。接着,我们根据线程数量将数组分成若干个块,并为每个线程创建一个子数组 chunk。然后,我们使用一个 for 循环来创建并启动每个线程,并在每个线程中使用一个 for 循环来处理子数组的元素。\n\n最后,我们使用一个 for 循环来等待所有线程执行完毕,以确保所有的并行计算操作都已完成。\n\n这个示例中的并行计算操作只是简单地打印数组的元素,你可以在其中执行任何需要并行计算的操作,例如计算数组元素的累加和、查找最大值等等。


原文地址: https://www.cveoy.top/t/topic/pSF9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录