线程通讯、wait和sleep 区别?sleep(0) vs wait(0)有什么区别

本文详细探讨了线程通讯的概念,强调了wait和sleep的区别。wait方法会让当前线程释放锁并等待,直到被notify或notifyAll唤醒,而sleep则不释放锁,线程在指定时间后自动恢复。wait是Object的方法,要求配合synchronized使用,而sleep是Thread的方法。wait(0)与sleep(0)的主要区别在于是否释放锁以及线程状态的改变。
摘要由CSDN通过智能技术生成

什么是线程通讯

线程通讯就是一个线程的操作可影响到另外其他的线程。主要通过wait/ notify来实现。

代码示例

public class ThreadDemo38 {
   
    public static void main(String[] args) throws InterruptedException {
   
        Object lock = new Object();

        Thread t1 = new Thread(new Runnable() {
   
            @Override
            public void run() {
   
                // 注意事项:调用 wait 方法之前必须先加锁
                synchronized (lock) {
   
                    try {
   
                        System.out.println("wait 之前");
                        lock.wait();
                        System.out.println("wait 之后")
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值