【狂神说Java】多线程详解哔哩哔哩bilibili
深入浅出线程Thread类的start()方法和run()方法 - 简书 (jianshu.com)
java的线程是通过java.lang.Thread
类来实现的。每个线程都是通过某个特定Thread对象所对应的方法run()
来完成其操作的,方法run()称为线程体。通过调用Thread类的start()
方法来启动一个线程。
狂神的两个小demo
第一个建立线程的方法
package com.kuang; public class demo01 extends Thread{ @Override //run方法可以理解为简单的一个函数并没有什么实际作用 public void run() { for (int i = 0; i < 20; i++) { System.out.println("run-----" + i); } } public static void main(String[] args) { demo01 demo01 = new demo01(); //start()方法是启动这个线程 demo01.start(); for (int i = 0; i < 2000; i++) { System.out.println("主线程---" + i); } } }
用Runable接口来实现
package com.kuang; public class demo02 implements Runnable{ @Override public void run() { for (int i = 0; i < 20; i++) { System.out.println("线程" + i); } } public static void main(String[] args) { //线程代理 demo02 demo02 = new demo02(); Thread thread = new Thread(demo02); thread.start(); for (int i = 0; i < 20; i++) { System.out.println("学习多线程 -------------" + i); } } }
通过分析源码可以看出来
Thread继承了Runable的接口
Runable接口实现了run()方法
但是你的Thread才是线程,不能直接用Runable直接测试run方法,还得通过Thread来进行测试