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

 

  

转载于:https://www.cnblogs.com/xiejianan/p/11332005.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值