美文网首页Java 杂谈
创建线程的三种方式

创建线程的三种方式

作者: 无敌锤子棒棒鸡 | 来源:发表于2019-02-28 19:15 被阅读0次
    1.继承 Thread
    public class MyThread extends Thread { 
        @Override
        public void run() {
            // TODO: 2019/2/28  
        }
    }
    
    2.实现 Runnable
    public class MyThread implements Runnable {
        @Override
        public void run() {
            // TODO: 2019/2/28
        }
    }
    
    3.Callable 和 FutureTask
    public class MyThread implements Callable<String> {
        @Override
        public String call() throws Exception {
            return "hello world";
        }
    }
    class CallTest {
        public static void main(String[] args) throws ExecutionException, InterruptedException {
            FutureTask<String> strTask = new FutureTask<>(new MyThread());
            strTask.run();
            if (strTask.isDone()) {
                System.out.println(strTask.get());
            }
        }
    }
    

    网上也有说法是四种创建线程的方式,第四种是线程池,但是我不太认同,所以只写了三种,因为线程池的方式只是启动,而非是创建。

    相关文章

      网友评论

        本文标题:创建线程的三种方式

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