美文网首页
多线程3种创建方式总结

多线程3种创建方式总结

作者: 何几时 | 来源:发表于2020-12-01 21:40 被阅读0次

    这个例程还包含 实现Callable接口方法 的第二种调用方法,区别于第一种通过创建线程池的方法提交服务

    package demo04_synchronized;
    
    import java.util.concurrent.*;
    
    // 总结,回顾线程的创建
    public class ThreadNew {
        public static void main(String[] args) {
            // 1.
            new MyThread01().start();
    
            // 2.
            new Thread(new MyThread02()).start();
    
            // 3. 这里展示了 实现Callable对象 的第二种方法,区别于第一种线程池
    //        ExecutorService service = Executors.newFixedThreadPool(10);
            FutureTask<Integer> futureTask = new FutureTask<Integer>(new MyThread03());
            new Thread(futureTask).start();
    
            try {
                Integer integer = futureTask.get();
                System.out.println(integer);
            } catch (InterruptedException e) {
                e.printStackTrace();
            } catch (ExecutionException e) {
                e.printStackTrace();
            }
    
        }
    }
    
    // 1. 继承Thread类
    class MyThread01 extends Thread{
        @Override
        public void run() {
            System.out.println("MyThread1");
        }
    }
    
    // 2. 实现Runnable接口
    class MyThread02 implements Runnable{
    
        @Override
        public void run() {
            System.out.println("MyThread02");
        }
    }
    
    // 3. 实现Callable接口
    class MyThread03 implements Callable<Integer>{
    
        @Override
        public Integer call() throws Exception {
            System.out.println("MyThread03");
            return 100;
        }
    }
    
    
    

    相关文章

      网友评论

          本文标题:多线程3种创建方式总结

          本文链接:https://www.haomeiwen.com/subject/jodewktx.html