创建线程的三种方法 ------ (笔记)

创建线程的三种方法 ------ (笔记)

  1. 继承Thread类

    public class Test1 extends Thread {
          
          
        @Override
        //重写run方法
        public void run() {
          
          
            for(int i=0;i<20;i++){
          
          
                System.out.println("子线程");
            }
        }
    
        public static void main(String[] args) {
          
          
            Thread thread = new Test1();
            //线程开启不一定立即执行 由CPU进行调度
            //调用start方法创建子线程执行 调用run方法都是主线程执行
            thread.start();
            for(int i=0;i<20;i++){
          
          
                System.out.println("主线程");
            }
        }
    }
    
  2. 实现Runnable接口 最常用

    public class Test1 implements Runnable {
          
          
    
        @Override
        public void run() {
          
          
            for(int i=0;i<200;i++){
          
          
                System.out.println("子线程");
            }
        }
    
        public static void main(String[] args) {
          
          
            Thread thread = new Thread(new Test1());
            thread.start();
            for(int i=0;i<200;i++){
          
          
                System.out.println("主线程");
            }
        }
    }
    
  3. 实现callable接口,可以捕获抛出异常,可以带返回值

    public class Test1 implements Callable<Boolean> {
          
          
    
        @Override
        public Boolean call() {
          
          
            for(int i=0;i<10;i++){
          
          
                System.out.println("子线程");
            }
            return true;
        }
    
        public static void main(String[] args) throws ExecutionException, InterruptedException {
          
          
            Test1 test1 = new Test1();
            //线程池
            ExecutorService service = Executors.newFixedThreadPool(1);
            Future<Boolean> future = service.submit(test1);
            boolean b = future.get();
            System.out.println(b);
            service.shutdownNow();
        }
    }
    
    

猜你喜欢

转载自blog.csdn.net/qq_41454682/article/details/112411631