首页 > 编程知识 正文

sleep wait 区别,java主线程sleep

时间:2023-05-06 16:34:21 阅读:162428 作者:1520

sleep将使当前线程暂停指定时间。 休眠时间的准确性取决于系统时钟和CPU调度机制。 不释放获取的锁定资源。 在同步上下文中调用sleep方法时,其他线程无权访问当前同步块或同步方法。 可以通过调用interrupt ()方法启动休眠线程。 wait使当前线程处于等待状态,当另一个线程调用notify (或notifyAll )方法时,当前线程处于就绪状态的wait方法必须在同步上下文中调用。 例如,在同步方法块或同步方法中调用。 这意味着要调用wait方法,必须获取对象上的锁定资源,并在调用wait方法时释放当前线程获取的资源

对于sleep vs wait waitsleep同步,只能在同步上下文中调用wait方法。 如果不是,或者抛出IllegalMonitorStateException异常,则不需要在同步方法或同步块中调用活动对象wait方法。 在Object类中, 作用于对象本身的sleep方法是在java.lang.Thread类中定义的,它是一种notify (或notifyAll )方法,用于影响当前线程的解锁资源是否唤醒条件中的其他线程调用对象或interrupt )方法主体方法属性wait为实例方法的sleep为静态方法https://Java2blog.com/difference-between-sleen

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。