线程是程序控制的一个内部数据流。线程的状态转化如下
或者
在java中创建线程有两种方式:
1.实现runnable接口(这个比较好,推荐这个。原因是:用的时候比较灵活,相比较继承Thread类,用接口来实现可以减少资源使用,比较继承也是一种宝贵资源,毕竟Java是单继承多实现)
2.继承Thread类
例子一:实现runnable接口
1 package com.song.test; 2 3 public class TestRunnable implements Runnable { 4 public void run() { 5 System.out.println("线程启动...."); 6 } 7 public static void main(String[] args) { 8 System.out.println("测试线程一...."); 9 TestRunnable test=new TestRunnable(); 10 Thread t1=new Thread(test); 11 t1.start(); 12 } 13 }
运行结果:
java的jdk1.6对java.lang.Runnable的解释
2例子二:继承Thread类
1 package com.song.test; 2 3 public class TestThread01 extends Thread { 4 public static void main(String[] args) { 5 System.out.println("开始执行"); 6 TestThread01 test = new TestThread01(); 7 test.start(); 8 } 9 10 @Override 11 public void run() { 12 System.out.println("用继承Thread的线程已启动"); 13 } 14 }
结果为:
使用的jdk1.6的解释为:
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
能力有限,不喜勿喷,欢迎指错。
原文:https://www.cnblogs.com/songlove/p/10613396.html