第二周1天13章多线程的初步认识

13章 多线程

程序与进程

程序:一段静态的代码。

进程:程序的一次动态执行过程,他对应从代码加载、执行到执行完毕的一个完整过程。

进程与线程

在一个程序内部也可以实现多个任务并发执行,其中每个任务称为线程。

线程是比进程更小的执行单位,他是在一个进程中独立的控制流,即程序内部的控制流。

开启多线程的优缺点

提高街面程序响应速度。将需要大量时间完成的流程在后台启动单独的线程完成。充分利用CPU等系统资源资源,同时执行多个进程,提高效率。当程序中的线程数量比较多时,系统将花大量的时间进行线程的切换,反而会降低程序的执行效率。但是,相对于优势来说,劣势还是有限的,多线程依然很受青睐。

三种实现多线程的方式:继承Thread类,实现Runnable接口,使用Timer和TimerTask组合

注意:现成的特性具有随机性,系统在执行多线程程序时只保证线程是交替执行的,无法保证先后顺序,需要书写专门的代码才可以保证执行的顺序。

实现Runable接口

多线程对象实现java.lang.Runnable接口并且在该类中重写Runnable接口的run方法。

好处:实现Runnable接口的方法避免了单继承的局限性

多线程的实现举例:

//首先,创建类的时候继承接口Thread,Runnable,TimeTask

Public class ?? implements Thread{

Public void main(String[] args){

? ? test =new ? ?();

Thread td=new Tread(test);

//线程开始

td.start();

}

//继承多线程接口需要重写run()方法

Public void run(){

try { //睡眠时间,腾出cpu空间,执行其他线程

Thread.sleep(1000);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值