实现Runnable接口创建线程类

    xiaoxiao2024-10-30  82

    一 点睛

    实现Runnable接口来创建并启动线程的步骤如下:

    1 定义Runnable接口的实现类,重写该接口的run()方法,该run()方法的方法体是该线程的线程执行体。

    2 创建Runnable实现类的实例,并以此实例作为Thread的target来创建Thread对象,该Thread对象才是真正的线程对象。

    3 调用线程对象的start()方法来启动该线程。

    二 代码

    // 通过实现Runnable接口来创建线程类 public class SecondThread implements Runnable { private int i ; // run方法同样是线程执行体 public void run() { for ( ; i < 100 ; i++ ) { // 当线程类实现Runnable接口时, // 如果想获取当前线程,只能用Thread.currentThread()方法。 System.out.println(Thread.currentThread().getName() + " " + i); } } public static void main(String[] args) { for (int i = 0; i < 100; i++) { System.out.println(Thread.currentThread().getName() + " " + i); if (i == 20) { SecondThread st = new SecondThread(); // ① // 通过new Thread(target , name)方法创建新线程 new Thread(st , "新线程1").start(); new Thread(st , "新线程2").start(); } } } }

    三 运行

    ...... main 17 main 18 main 19 main 20 main 21 main 22 main 23 main 24 main 25 main 26 新线程2 0 main 27 新线程1 0 新线程1 2 main 28 新线程2 1 main 29 新线程1 3 main 30 新线程2 4 main 31 新线程1 5 main 32 ......

    四 说明

    1 创建的Runnable对象只能作为线程对象的target。

    2  从运行结果可以看出:两个子线程的i变量是连续的,也就是采用Runnable接口的方式创建的多个线程可以共享线程的target类的实例变量,因为这个target被多个线程共享,

    最新回复(0)