线程总结

package com.mollzz.summary;

import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;

public class ThreadNew {
    public static void main(String[] args) throws ExecutionException, InterruptedException {
        new MyThread().start();

        new Thread(new MyRunnable()).start();

        FutureTask<Integer> futureTask=new FutureTask<Integer>(new MyCallable());
        new Thread(futureTask).start();

        Integer integer = futureTask.get();
        System.out.println(integer);

    }
}

//1.继承Thread类
class MyThread extends Thread{
    @Override
    public void run() {
        System.out.println("MyThread");
    }
}

//2.实现Runnable接口
class MyRunnable implements Runnable{
    @Override
    public void run() {
        System.out.println("MyRunnable");
    }
}

//3.实现Callable接口
class MyCallable implements Callable<Integer>{
    @Override
    public Integer call() throws Exception {
        System.out.println("MyCallable");
        return 100;
    }
}

你可能感兴趣的:(学习,java)