多线程的运行方式和如何实例化

目录

运行方式:

如何实例化:

通过继承Thread类来实现多线程:

通过实现Runnable接口来实现多线程:

要点:一个线程只能被启动一次


运行方式:

        串行:一个CPU上,执行多个任务

        并行:任务数小于等于CPU核数,即任务同时执行

        并发:任务数大于CPU核数,会采用时间片管理的方式交替处理多个任务,实现多个任务看 

        起来是同时执行的,但是实际上总有任务不在执行,只是切换任务的速度相当快,看上去是

        一起执行而已

在多线程中,线程与线程之间采用的是并发的方式

如何实例化:

通过继承Thread类来实现多线程:

在java中通过java.lang.Thread类来实现多线程,

但是这种实现多线程的方式有一个缺点:java中只有单继承,如果一个类继承了另一个类,那么就无法继承Thread类

  • 通过实例化Thread来创建新的线程
  • 每个线程都是通过某个特定的Thread对象所对应的run()来完成其操作的,
  • 通过调用start()方法实现线程的启动(调用run方法不会启动此线程,只是普通的调用方法)

通过实现Runnable接口来实现多线程:

为了解决继承Thread类后不能继承别的类的问题,我们还可以通过Runnable接口来实现多线程:

但是Runnable接口只有一个run()方法,上面我们说过了,只有通过调用start()方法才能启动线程,所以我们可以通过实例化Thread类,然后将实现了Runnable接口的对象传入。通过这种将对象包装为Thread类来调用start()方法,实现线程的启动        

要点:一个线程只能被启动一次

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值