• 35648

    文章

  • 23

    评论

  • 20

    友链

  • 最近新加了很多技术文章,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

java并发编程学习之三种线程启动方式

欢迎来到阿八个人博客网站。本 阿八个人博客 网站提供最新的站长新闻,各种互联网资讯。 喜欢本站的朋友可以收藏本站,或者加QQ:我们大家一起来交流技术! URL链接:https://www.abboke.com/jsh/2019/0703/4964.html 1190000019646814

类Thread

public class ThreadDemo extends Thread {
    public static void main(String[] args) {
        ThreadDemo thread = new ThreadDemo();
        thread.start();
    }

    @Override
    public void run() {
        System.out.println("这是Thread方式启动的");
    }
}

运行结果如下:
clipboard.png

接口Runnable

public class RunnableDemo implements Runnable {
    @Override
    public void run() {
        System.out.println("这是Runnable方式启动的");
    }

    public static void main(String[] args) {
        Thread thread = new Thread(new RunnableDemo());
        thread.start();
    }
}

运行结果如下:
clipboard.png

接口Callable

public class CallableDemo implements Callable {
    @Override
    public String call() throws Exception {
        return "Callable";
    }
    public static void main(String[] args) {
        FutureTask<String> futureTask = new FutureTask(new CallableDemo());
        Thread thread = new Thread(futureTask);
        thread.start();
        try {
            System.out.println(futureTask.get());
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (ExecutionException e) {
            e.printStackTrace();
        }
    }
}

运行结果如下:
clipboard.png

接口Runnable和接口Callable的区别

  1. Callable可以有返回值。
  2. 通过FutureTask包装成Runnable,传递给Thread,因为FutureTask是实现了Runnable接口。

相关文章

暂住......别动,不想说点什么吗?
  • 全部评论(0
    还没有评论,快来抢沙发吧!