新兵日记--java多线程学习(一)  --如何创建线程

  java 多线程的实现方法

  可以通过继承Thread类实现Runnable接口来实现,而Thread类实际上实现了Runnable接口 ,两种创建线程的方法性质是一样的,并没有什么本质区别

  Thread类

   1.  创建MyThread 类并继承Thread类

   public class MyThread extends Thread{}

  

   2.  在MyThread类中重写 Thread类的run()方法,值得一提的是Thread类的run()方法是实现了Runnable接口,所以继承Thread类和实现Runnable并没有本质区别

1 public class MyThread extends Thread{
2             public void run(){
3                  //线程的执行代码
4             }
5 }

   

  3.   创建MyThread 类的实例并调用Thread类的start()方法

   

1 public static void main(String[] args ){
2     MyThread myTh=new MyThread();
3     myTh.start();//调用Thread类的start()方法
4 }

     为什么不是myTh.run()而是 myTh.start()  ? 

  因为在myTh.run()是由main主线程来执行myTh.run()方法。myTh.start()是由自己创建的线程执行

  myTh.run() 直接由main()主线程执行run方法,依旧是单线程。

  myTh.start() 告诉“线程规划器”该线程已经准备好了,等你来cpu来调用该线程对象的 run方法,使线程得到启动是,是异步执行。

  

猜你喜欢

转载自www.cnblogs.com/xiejianan/p/11332005.html