第一种方式
package demo3;public class Threddemo { public static void main(String[] args) { MyThred mt = new MyThred(); mt.start(); for (int i = 0; i < 20; i++) { System.out.println("main"+i); } }}public class MyThred extends Thread { @Override public void run() { for (int i = 0; i < 20; i++) { System.out.println("run"+i); } }}
第二种方式
package demo4;public class runableimpl implements Runnable { @Override public void run() { for (int i = 0; i < 20; i++) { System.out.println(Thread.currentThread().getName() + i); } }}public class demo01runable { public static void main(String[] args) {// runableimpl run = new runableimpl();// Thread th = new Thread(run);// th.start();// Thread t = new Thread(new runableimpl());// t.start();// new Thread(){// @Override// public void run() {// for (int i = 0; i < 20; i++) {// System.out.println(Thread.currentThread().getName()+i);// }// }// }.start(); new Thread(new Runnable(){ @Override public void run() { for (int i = 0; i < 20; i++) { System.out.println(Thread.currentThread().getName()+i); } } }).start(); for (int i = 0; i < 20; i++) { System.out.println(Thread.currentThread().getName()+i); } }}
lamda 表达式
new Thread(()-> System.out.println(Thread.currentThread().getName())).start();