创建线程的方式:
1)继承Thread类,重写run方法。
2)实现Runnable接口,重写run方法。
3)实现Callable接口,重写call方法。
下面我们以此用代码来实现一下
1、继承Thread类,重写run方法。
MyThread类:
1 package bokeyuan.thread; 2 3 public class MyThread extends Thread{ 4 @Override 5 public void run() { 6 for (int i = 0; i < 10; i++) { 7 try { 8 //让线程睡1秒,突出效果。 9 Thread.sleep(1000); 10 //线程名 11 String name = Thread.currentThread().getName(); 12 System.out.println(name+"------"+i); 13 } catch (InterruptedException e) { 14 e.printStackTrace(); 15 } 16 } 17 } 18 }
测试代码:
1 package bokeyuan.thread; 2 3 public class Main { 4 public static void main(String[] args) { 5 //创建线程对象 6 MyThread myThread = new MyThread(); 7 //开启线程 8 myThread.start(); 9 for (int i = 0; i < 10; i++) { 10 try { 11 Thread.sleep(1000); 12 String name = Thread.currentThread().getName(); 13 System.out.println(name+"----"+i); 14 } catch (InterruptedException e) { 15 e.printStackTrace(); 16 } 17 } 18 } 19 }
运行截图:
注:
java程序执行的时候,至少两个线程执行,一个是main主线程,另外一个就是gc垃圾回收线程。