java多线程应用中常用的sleep、yield、join、wait、notify、notifyAll方法介绍

本文介绍了Java多线程编程中常用的方法,包括Thread.sleep()用于线程睡眠,不释放锁;Thread.yield()让当前线程暂停,给同等优先级的线程执行机会;Thread.join()使调用线程等待目标线程结束后再继续执行。
摘要由CSDN通过智能技术生成

1)Thread.sleep()/sleep(long millis)

当前线程睡眠/millis的时间(millis指定睡眠时间是其最小的不执行时间,因为sleep(millis)休眠到达后,无法保证会被JVM立即调度);sleep()是一个静态方法(static method) ,所以他不会停止其他的线程也处于休眠状态;线程sleep()时不会失去拥有的对象锁。 作用:保持对象锁,让出CPU,调用目的是不让当前线程独自霸占该进程所获取的CPU资源,以留一定的时间给其他线程执行的机会;


2)Thread.yield()


  让出CPU的使用权,给其他线程执行机会、让同等优先权的线程运行,如果没有同等优先权的线程,那么yield()方法将不会起作用。


3)thread.join()

    相当于把要调用join方法的线程也嵌套在当前的运行环境中,当前运行环境处于阻塞状态,直到调用join方法的线程执行完之后再继续往下执行!!
    例子:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值