Java基础(多线程)

本文详细介绍了Java中的多线程概念,包括进程与线程的区别、线程的创建方式(Thread类和Runnable接口)、线程的生命周期及其状态转换,以及线程调度的分时调度和抢占式调度策略。此外,还探讨了多线程同步的重要性,以防止资源访问的安全问题,如同步代码块和同步方法的应用。
摘要由CSDN通过智能技术生成

十、多线程

10.1概述

  • 进程
    多任务同时执行,对于一个CPU而言,某个时间点只能运行一个程序,也就是说只能执行一个进程,操作系统会为每一个进程分配一段有限的CPU使用时间,CPU在这段时间中执行某个进程,然后在下一段时间切换到另一个进程中执行,CPU运行速度很快,极短的时间内在不同的进程之间切换,所以给人以同时执行多个程序的感觉。
  • 线程
    每个运行程序都是一个进程,一个进程中有多个执行单元同时运行,这些执行单元被称为线程。

10.1 线程的创建

  • Thread类
    继承Thread类,重写Run方法
    start方法启动新线程,虚拟机调用run方法。Java是类单继承,局限性很大!

  • 实现Runnable接口创建多线程
    提供另一构造方法,内部只需传入传递一个实现了Runnable接口的实例对象,这样创建的线程将调用Runable接口的类中的run方法。

  • Runable优点

  1. 多程序代码处理同一资源的情况,把线程与程序代码、数据有效分离。
  2. 避免了单继承的局限性

10.2 线程的生命周期

  • 新建状态
    线程对象被创建,此时它不能运行,仅由虚拟机分配了内存。
  • 就绪状态
    调用start方法后进入就绪队列,没有获得CPU,等待系统调度
  • 运行状态
    获得CPU使用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值