黑马程序员Java培训、Android培训-Java 学习过程记录_多线程

1、了解进程和线程:

    在多任务系统中,每个对立执行的程序称为进程,也就是“正在进行的程序”。我们现在使用的操作系统一般都是多任务的,即能够同时执行多个应用程序,实际情况是,操作系统负责对CPU等设备的资源进行分配和管理,虽然这些设备某一时刻只能做一件事情,但以非常小的时间间隔交替执行多个程序,就可以给人以同时执行多个程序的感觉。

    一个进程中又可以包含一个或多个线程,一个线程就是一个程序内部的一条执行线索,如果要一程序中实现多段代码同时交替运行,就需产生多个线程,并指定每个线程上所要运行的程序代码段,这就是多线程。

   多线程和单线程对比

单线程:main方法,执行到run方法后,会一直等到run方法完成后才往下执行;

多线程:main方法,执行到run方法后,会产生一个新的线程去处理run方法,程序仍然可以向下执行;

2、用Thread类创建线程

   要将一段代码在一个新的线程上运行,该代码应该在一个类的run函数中,并且run函数所在的类是Thread类的子类。倒过来看,我们要实现多线程,必须编写一个继承Thread类的子类,子类要覆盖Thread类中的run函数,在子类的run函数中调用想在新线程上运行的程序代码

   启动一个新的线程,我们不是直接调用Thread的子类对象的run方法,而是调用Thread子类对象的start(从Thread类继承到的)方法;Thread类对象的start方法,更加面向对象的运行时的多态性,在该线程上实际运行的是Thread子类(也就是我们写的那个类)对象中的run方法。

   由于线程的代码段在run方法中,那么该方法执行完成以后线程也就相应的结束了,因而我们可以通过控制run方法中循环的条件来控制线程的结果。

     今天的演示代码备份:

class ThreadDemo1

{

       public static void main(String [] args)

       {

              //new Thread().start();

              new TestThread().start();//run();

              while (true)

              {

                     System.out.println("main():"+Thread.currentThread().getName());

              }

       }

}

class TestThread extends Thread

{

       public void run()

       {

              while(true)

              {

                     System.out.println("run():"+Thread.currentThread().getName());                   

              }

       }

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值