Java线程

一.认识线程

1.并发与并行

并发:指两个或多个事件在同一时间段内发生

并行:指两个或多个事件在同一个时刻发生

2.线程和进程

进程:正在运行的程序

线程:进程中单个顺序的控制流,是一条执行路径

        单线程:一个进程中只有一条执行路径,单线程程序

        多线程:一个进程中有多条执行路径,多线程程序 

3.创建线程

所有线程对象都是Thread类或是其子类的实例

  1. 定义Thread类的子类,并重写该类的run()方法,该run()方法的方法体就代表了线程需要完成的任务,因此把run()方法称为线程执行体。

  2. 创建Thread子类的实例,即创建了线程对象

  3. 调用线程对象的start()方法来启动该线程

注意:run和start的区别

  • run封装线程执行的代码,直接调用,不启动线程
  • start启动线程,jvm调用run方法

二.线程

getname:获取线程名称

setname:设置线程名称

获取当前线程:Thread.currentThread

线程调度:

        线程调度方式:

        分时调度模型:所有线程轮流使用cpu的使用权,平均分配每个线程的占用cpu的时间

        抢占式调度模型:优先让优先级高的线程使用cpu,如果线程优先级相同,随即使用,优先级高占用cpu时间相对多

        java一般使用抢占式模型

线程优先级取值范围1-10,默认是5

getPriority:获取优先级

setPriority:设置优先级

线程控制

sleep(long l)指定停留时间

join:等待该线程死亡

setDaemon(boolean on):守护线程,如果只剩下守护线程,jvm停止运行

线程生命周期

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值