首页 > 编程语言 > 详细

并发知识(1)——创建线程

时间:2019-07-14 00:40:24      阅读:104      评论:0      收藏:0      [点我收藏+]

创建线程有几种方式:

  1. 自定义类继承Thread(如下面的AThread),然后使用Thread.start方法启动线程
  2. 创建类,实现Runnable,通过Thread的构造函数来启动,有时也用于ThreadPoolExecutor线程池的一些execute方法中
  3. Callable,提到Callable就需要知道Future,通常情况下Callable用于线程池execute或submit方法中,获取线程的返回结果。
    技术分享图片
  4. Executors框架的几个常用方法,调用execute或者submit方法即可。
public class CreateThread {
    @Test
    public void useThread() throws InterruptedException {
        AThread newThread = new AThread("线程1");
        newThread.start();
    }

    @Test
    public void implementsRunnable() {
        new Thread(()->{
            System.err.println(Thread.currentThread().getName() + " is running.");
        }, "线程2").start();
    }

    @Test
    public void useCallable() throws ExecutionException, InterruptedException {
        Callable<String> callable = new Callable<String>() {
            @Override
            public String call() throws Exception {
                return "use callable test.";
            }
        };
        ExecutorService executorService = Executors.newFixedThreadPool(1);
        Future<String> future = executorService.submit(callable);
        System.err.println(future.get());

    }

    class AThread extends Thread {
        public AThread(String name) {
            super(name);
        }

        @Override
        public void run() {
            System.err.println(Thread.currentThread().getName() + " is running.");
        }
    }
}

线程的几种状态

并发知识(1)——创建线程

原文:https://www.cnblogs.com/studentytj/p/11182766.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!