多线程的三种实现方法
package com.test; import java.util.concurrent.Callable; public class Thread3 implements Callable{ private Integer num1; private Integer num2; public Thread3(Integer num1,Integer num2){ this.num1=num1; this.num2=num2; } @Override public Integer call() throws Exception { Math.max(num1,num2); return null; } }
package com.test;
import org.junit.Test;
import java.util.concurrent.*;
public class Main {
@Test
public void multithreading() throws Exception {
Thread3 t1= new Thread3(55,111);
FutureTask futureTask= new FutureTask(t1);
Thread3 t2= new Thread3(55,111);
FutureTask futureTask2= new FutureTask(t2);
//线程池
ExecutorService service= Executors.newScheduledThreadPool(10);
service.submit(t1);
service.submit(t2);
service.shutdown();
service.shutdown();
System.out.println(futureTask.get());
System.out.println(futureTask2.get());
}
}



