Java面试题:创建线程的四种方式

发布于:2023-01-06 ⋅ 阅读:(599) ⋅ 点赞:(0)

  Java面试题:创建线程的四种方式

  1. 创建线程有四种方式

  继承 Thread 类;

  实现 Runnable 接口;

  实现 Callable 接口;

  使用 Executors 工具类创建线程池

  2. 继承Thread类

  2.1 实现步骤

  定义一个Thread类的子类;

  重写run方法,将相关逻辑实现,run()方法就是线程要执行的业务逻辑方法;

  创建自定义的线程子类对象;

  调用子类实例的star()方法来启动线程。

  2.2 运行结果 Java面试题icon-default.png?t=M7J4http://www.mobiletrain.org/interview/java/

  main main()方法执行结束

  Thread-0 run()方法正在执行...

  3. 实现 Runnable 接口

  3.1 具体步骤

  定义Runnable接口实现类MyRunnable,并重写run()方法;

  创建MyRunnable实例myRunnable,以myRunnable作为target创建Thead对象,该Thread对象才是真正的线程对象;

  调用线程对象的start()方法。

  3.2 执行结果

  main main()方法执行完成

  Thread-0 run()方法执行中...

  4. 实现 Callable 接口

  4.1 具体步骤

  创建实现Callable接口的类myCallable;

  以myCallable为参数创建FutureTask对象;

  将FutureTask作为参数创建Thread对象,调用线程对象的start()方法。

  4.2 执行结果

  Thread-0 call()方法执行中...

  返回结果 1

  main main()方法执行完成

  5. 使用 Executors 工具类创建线程池

  5.1 简介

  Executors提供了一系列工厂方法用于创先线程池,返回的线程池都实现了ExecutorService接口。

  主要有newFixedThreadPool,newCachedThreadPool,newSingleThreadExecutor,newScheduledThreadPool,后续详细介绍这四种线程池。

  5.2 示例代码

  5.3 执行结果

  线程任务开始执行

  pool-1-thread-1 is running...

  pool-1-thread-1 is running...

  pool-1-thread-1 is running...

  pool-1-thread-1 is running...

  pool-1-thread-1 is running...

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到