进程创建的几种方式

Java中四种常见的创建线程的方式

1、重写Thread类的run方法

1.1、new Thread 对象匿名重写run方法

 new Thread(){
    
    
            @Override
            public void run() {
    
    
                System.out.println("进程创建方式1.1");
            }
        }.start();

1.2、继承Thread,重写run方法

class MyThread extends Thread{
    
    
            @Override
            public void run() {
    
    
                System.out.println("进程创建方式1.2");
            }
        }
        new MyThread().start();

2、实现Runable接口,重写run方法

2.1、new Runable对象,匿名重写run方法

   Runnable runnable = new Runnable(){
    
    
            @Override
            public void run() {
    
    
                System.out.println("进程创建方式2.1");
            }
        };
        new Thread(runnable).start();

2.2、实现Runable接口,重写run方法

class MyRuncable implements Runnable{
    
    

            @Override
            public void run() {
    
    
                System.out.println("进程创建方式2.2");
            }
        }
        new Thread(new MyRuncable()).start();

3、实现Callable接口,使用FutureTask类创建线程

 class MyCallable implements Callable{
    
    
            @Override
            public String call() throws Exception {
    
    
                System.out.println("调用 call");
                return "进程创建方式3";
            }
        }
        FutureTask ft = new FutureTask(new MyCallable());
        new Thread(ft).start();
        try {
    
    
            System.out.println("输出结果:"+ft.get());
        } catch (InterruptedException e) {
    
    
            e.printStackTrace();
        } catch (ExecutionException e) {
    
    
            e.printStackTrace();
        }

4、使用线程池创建、启动线程

 ExecutorService singleThreadExecutor = Executors.newSingleThreadExecutor();
        singleThreadExecutor.submit(new Runnable() {
    
    
            @Override
            public void run() {
    
    
                System.out.println("进程创建方式4");
            }
        });
        singleThreadExecutor.shutdown();

猜你喜欢

转载自blog.csdn.net/qianzhitu/article/details/108233879