/** * 主方法调用 * * @param args */ public static void main(String[] args) { List<Integer> dataList = new ArrayList<Integer>(); for (int i = 0; i < 12; i++) { dataList.add(i); } System.out.println("总数据集:" + dataList); long start = System.currentTimeMillis(); WorkThread[] workThreadArray = new WorkThread[4]; for (int i = 0; i < workThreadArray.length; i++) { workThreadArray[i] = new WorkThread("线程" + i, dataList.subList(i * 3, (i + 1) * 3)); workThreadArray[i].start(); } /*主线程希望等待所有的子线程都完成任务后汇总结果并展示出来*/ for (WorkThread aWorkThread : workThreadArray) { try { aWorkThread.join(); } catch (InterruptedException e) { e.printStackTrace(); } } System.out.println("结果汇总:" + dataList); System.out.println("耗时:" + (System.currentTimeMillis() - start)); }