Java 03 - Thread与Runnable
Contents
Thread与Runnable
在Java创建一个线程的时候, 通常是有两种方法, 一种是重写run()方法, 调用对象实例的start()方法; 一种是实现Runnable接口, 重写run()方法, 将对象实例作为Thread类初始化方法的实参, 并调用新生成的Thread类实例的start()方法.
Thread
older syntax:
1 | public class MyThread extends Thread { |
或者:
1 | Thread thread = new Thread() { |
lambda:
1 | new Thread(() -> /* your code here*/ ).start(); |
Runnable
older syntax:
1 | // pre java 8 lambdas |
lambda:
1 | Runnable runnable = () -> { |
对比
实现Runnable接口相较于继承Thread的优势:
适合多个相同的程序代码的线程去处理一个资源, 在实现Runnable接口的实例中, 各个线程共享该实例的数据域, 但是可能需要进行同步约束.
可以避免Java中的单继承限制.