多线程,是java的特殊机制。所谓线程就是程序执行的流程。“多线程”就是可以在同一时刻能够执行多个程序块(注意,是程序块,而不是程序),这样一来就可以使得程序的执行速度大大增加。
1 package Test; 2 3 class CTest { 4 private String id; 5 public CTest(String str){ 6 id = str; 7 } 8 9 public void run(){10 for(int i = 0;i<4;i++){11 for(int j = 0;j<1000;j++);12 System.out.println(id+"is runing ...");13 }14 }15 }16 public class Demo3{17 public static void main(String[] args) {18 CTest dog = new CTest("dog");19 CTest kitty = new CTest("kitty");20 dog.run();21 kitty.run();22 }23 }
【注意】第20,21行使用的是run()。
如果要在某个类中启动线程需要具备的条件是:
1、这个类是Thread类的子类。
2、线程的处理必须编写在run()方法中,run()在Thread中第一,需要在子类中覆盖。
1 class CTest extends Thread{ 2 private String id; 3 public CTest(String str){ 4 id = str; 5 } 6 7 public void run(){ 8 for(int i = 0;i<4;i++){ 9 for(int j = 0;j<1000;j++);10 System.out.println(id+"is runing ...");11 }12 }13 }14 public class Demo3{15 public static void main(String[] args) {16 CTest dog = new CTest("dog");17 CTest kitty = new CTest("kitty");18 dog.start();19 kitty.start();20 }21 }
本次的输出就是:dogis runing ...
kittyis runing ...
交互出现。
dog.start() kitty.start().使用对象来启动线程,如果继续使用run()将不会启动线程,出现的结果先执行dog.run()执行完毕之后在执行kitty.run()