码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-08-10 17:04:05      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:center   接口   --   两种   bsp   new   col   异步执行   准备   

  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方法,使线程得到启动是,是异步执行。

 

  

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

标签:center   接口   --   两种   bsp   new   col   异步执行   准备   

原文地址:https://www.cnblogs.com/xiejianan/p/11332005.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!