3.Callable接口实现
class NumThread implements Callable{
@Override
public Object call() throws Exception {
int sum = 0;
for(int i = 0; i < 100; i++) {
if(i % 2 == 0) {
System.out.println(i);
sum += i;
}
}
return sum;
}
}
public class CreateThread {
public static void main(String[] args) {
NumThread numthread = new NumThread();
FutureTask futuretask = new FutureTask(numthread);
Thread thread = new Thread(futuretask);
thread.start();
Object sum;
try {
sum = futuretask.get();
System.out.println(sum);
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
}
4.线程池实现
class NumberThread implements Runnable{
@Override
public void run() {
for(int i = 0;i < 100; i++) {
System.out.println(i);
}
}
}
class NumberThread1 implements Runnable{
@Override
public void run() {
for(int i = 0;i < 100; i++) {
System.out.println(i);
}
}
}
public class ThreadPool {
public static void main(String[] args) {
ExecutorService service = Executors.newFixedThreadPool(10);
service.execute(new NumberThread());
service.execute(new NumberThread1());
service.shutdown();
}
}