2018-03-21

package com.sss.test; 
import java.util.Random; 
/** * @author Shusheng Shi */ 
public class ThreadJoinTest { 
static class Computer extends Thread { private int start; private int end; private int result; private int[] array; public Computer(int[] array, int start, int end) { this.array=array; this.start=start; this.end=end; } @Override public void run() { for (int i=start; i < end; i++) { result+=array[i]; } if (result < 0) { result&=Integer.MAX_VALUE; } } public int getResult() { return result; } } private final static int COUNTER=10000000; public static void main(String[] args) throws InterruptedException { int[] array=new int[COUNTER]; Random random=new Random(); for (int i=0; i < COUNTER; i++) { array[i]=Math.abs( random.nextInt() ); } long start=System.currentTimeMillis(); Computer c1=new Computer( array, 0, COUNTER ); Computer c2=new Computer( array, COUNTER / 2, COUNTER ); c1.start(); c2.start(); c1.join(); c2.join(); System.out.println( System.currentTimeMillis() - start ); System.out.println( (c1.getResult() + c2.getResult()) & Integer.MAX_VALUE ); } }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容