美文网首页
创建线程的三种方法

创建线程的三种方法

作者: YAOPRINCESS | 来源:发表于2020-09-14 13:39 被阅读0次
    package com.kang.multithread;
    
    import java.util.concurrent.Callable;
    import java.util.concurrent.ExecutionException;
    import java.util.concurrent.FutureTask;
    
    /**
     * @author klr
     * @create 2020-09-14-12:59
     */
    public class ThreadTest {
        public static void main(String[] args) throws ExecutionException, InterruptedException {
    
            //1 thread
            Thread t = new Thread("1"){
                @Override
                public void run() {
                    System.out.println(1);
                }
            };
            t.start();
    
            //2 runnable
            Runnable runnable = () -> System.out.println(2);
            runnable.run();//主线程执行
            Thread t1 = new Thread(runnable,"2");//其他线程执行
            t1.start();
    
            //3 futuretask
            //integer是返回类型
            FutureTask<Integer> futureTask = new FutureTask(new Callable<Integer>() {
                @Override
                public Integer call() throws Exception {
                    System.out.println(3);
                    Thread.sleep(1000);
                    return 100;
                }
            });
    //        futureTask.run();//主线程执行
    
            Thread t2 = new Thread(futureTask);//交给其他线程执行
            t2.start();
    
            System.out.println(futureTask.get()+"1");//主线程会一直阻塞在这等结果
        }
    }
    

    相关文章

      网友评论

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

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