Java创建线程

2022-01-16 From null By null

Java 提供了三种创建线程的方法:

  1. 通过实现 Runnable 接口;
  2. 通过继承 Thread 类本身;
  3. 通过 Callable 和 Future 创建线程。

实现 Runnable 接口

实现 Runnable 接口,一个类只需要实现一个 run() 方法。run 方法可以调用其他的类、方法、变量。

使用 Runnable 接口需要创建 Thread 线程对象,并调用 Thread 的 start 方法来启动线程。

class RunnableDemo implements Runnable {
    public void run() {}
}

new Thread (new RunnableDemo(), "测试线程").start();

继承 Thread 类

继承 Thread 类必须实现 run 方法,也必须调用 start() 方法才能执行。本质上也是实现了 Runnable 接口的一个实例。

class ThreadDemo extends Thread {
    public void run() {}
}

new ThreadDemo("测试线程").start();

通过 Callable 和 Future 创建线程

  1. 创建 Callable 接口的实现类,并实现 call() 方法,该 call() 方法将作为线程执行体,并且有返回值。
  2. 创建 Callable 实现类的实例,使用 FutureTask 类来包装 Callable 对象,该 FutureTask 对象封装了该 Callable 对象的 call() 方法的返回值。
  3. 使用 FutureTask 对象作为 Thread 对象的 target 创建并启动新线程。
  4. 调用 FutureTask 对象的 get() 方法来获得子线程执行结束后的返回值。
class CallableDemo implements Callable{
    @Override  
    public Integer call() throws Exception {}
}

CallableDemo cd = new CallableDemo();
FutureTaskft = new FutureTask<>(cd); 
new Thread(ft,"测试线程").start();
System.out.println("子线程的返回值:"+ft.get());

本文来源:,转载请注明出处!

君子曰:学不可以已。
《分布式算法精髓》
互联网是一个分布式系统,无线通信、云计算或并行计算、多核系统、移动网络也是如此。蚁群、大脑甚至人类社会都可以被建模为分布式系统。本书强调这些分布式系统中共同涉及的主题和技术,特别是强调分布式系统设计中的一些基本问题,涵盖通信、协调、容错性、本地性、并行性、打破对称性、同步化、不确定性等。
发表感想

© 2016 - 2024 chengxuzhixin.com All Rights Reserved.

浙ICP备2021034854号-1    浙公网安备 33011002016107号