创建线程的第一种方法:继承Thread类

package thread;

public class ThreadDemo1 {

 /**
  * 进程:是一个正在执行中的程序。
  *   每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元。
  *
  * 线程:就是进程中一个独立的控制单元。
  *   线程在控制着进程的执行。
  *
  * 一个进程中至少有一个线程。
  *
  * 扩展:其实Java VM启动不止一个线程,还有服装垃圾回收机制的线程。主函数可以认为是主线程。
  *
  * 1,如何在自定义的代码中,自定义一个线程。
  *
  * 创建线程的第一种方式:继承Thread类
  *   步骤:
  *    1.定义类继承Thread.
  *    2.复写Thread类中的run方法。
  *     目的:将自定义代码存储在run方法中,让线程运行。
  *    3.调用线程的start方法。
  *     该方法有两个作用:a:启动线程,b:调用run方法。
  *   
  * 发现运行结果每一次都不同,因为多个线程都在获取CPU的执行权,CPU执行到谁,就运行谁,在某一时刻,只能有一个程序在运行。
  * CPU在做着快速的切换,以达到看上去是同事运行的效果。
  *
  * 这就是多线程的一个特性:随机性,谁抢到,谁执行,至于执行多长,CPU决定。
  *
  * 为什么要覆盖run方法?
  * 答:Thread类用于描述线程。该类就定义了一个功能,用于存储线程要运行的代码,该存储功能就是run方法。
  *        也就是说,Thread类中的run方法,用于存储线程要运行的代码。
  *
  */
 public static void main(String[] args) {
  
  Demo d = new Demo();//建立一个对象就是创建一个线程
  //d.start();  //开启线程,并执行run方法
  d.run();   //仅仅是对象调用方法,而线程创建了,并没有执行。
  
  for(int i=0;i<60;i++){
   sop("mian run-----"+i);
  }
  
 }
 
 public static void sop(Object o){
  System.out.println(o);
 }

}

class Demo extends Thread{
 public void run(){
  for(int i=0;i<60;i++)
   System.out.println("demo run!!!-----"+i);
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值