`

Thread:sleep---wait的不同

阅读更多
wait()在object类里定义;sleep()在Thread类里定义。
wait()方法只能放在同步方法或同步块中,表示资源同步时,线程需要等待。
sleep()方法可放在任何位置,表示当前线程睡眠。
wait()方法会释放对象锁;sleep()不会释放对象锁。
wait()方法要等待唤醒之后,线程才会继续执行。
sleep()则是休眠一段时间,线程自动恢复执行.
分享到:
评论

相关推荐

    EurekaLog_7.5.0.0_Enterprise

    9)....Fixed: Sleep and hybernation no longer trigger false-positive "application freeze" 10)..Fixed: Wrong function codes for hooking (affects ISAPI application type) 11)..Fixed: Wrong button caption ...

    Java程序开发教学课件:10-线程.ppt

    4. **阻塞(Blocked)**:线程在等待某个条件满足,如等待I/O操作完成、调用`suspend()`、`wait()`,或被其他线程`sleep()`或`join()`。 5. **死亡(Terminated)**:`run()`方法执行完毕或`stop()`方法被调用后,...

    JAVA面试题集1.doc

    - `sleep()` 是 Thread 类的方法,使当前线程暂停指定时间,不会释放锁。 - `wait()` 是 Object 类的方法,用于线程间通信,使当前线程等待,释放锁直到收到通知或中断。 这些知识点是Java开发者应掌握的基础,...

    java面试题2024资源下载

    #### 二十七、Java中wait与sleep方法的不同 - **所属类**: - wait属于Object类,sleep属于Thread类。 - **锁释放**: - wait会释放对象锁,sleep不会释放对象锁。 - **中断响应**: - wait可以被中断,sleep也...

    Java通用语法面试题

    - 继承 Thread 类。 - 实现 Runnable 接口。 - **实现同步**: - 使用 synchronized 关键字。 - 同步方法。 - 同步代码块。 - **效率**: - 同步代码块效率更高。 #### 10. 阻塞线程的方法及其区别 - **sleep...

    3-Threads-Runnable-Sleep-Sync:并行编程示例:3使用Thread.sleep()的可运行实现的线程同步

    本示例“3-Threads-Runnable-Sleep-Sync”着重探讨了如何使用`Thread.sleep()`方法来控制线程的执行顺序和同步,从而避免资源竞争问题,确保程序的正确性。 首先,我们要理解`Thread.sleep()`方法的作用。它是一个...

    Java多线程文章系列.pdf

    - `suspend()`, `resume()`, `sleep()`用于线程控制。 - **讨论**: - `suspend()`和`resume()`已废弃,推荐使用更安全的同步机制。 #### 五、Java多线程学习笔记 ##### 1. 线程类 - **Thread类**: - 提供了创建...

    java sleep()和wait()

    `sleep()`方法是Thread类中的一个静态方法,用于让当前正在执行的线程暂停执行指定的时间(毫秒),之后线程将重新进入就绪状态。需要注意的是,在调用`sleep()`方法时,线程不会释放它所持有的任何锁资源,这意味着...

    多线程sleep,yield,wait区别

    `sleep`, `yield`, 和 `wait` 是 Java 中用于线程管理的三个重要方法,它们各自有着不同的功能和用途。理解它们的区别有助于编写出更加高效和可控的多线程程序。 1. **sleep() 方法** - `Thread.sleep(millisecond...

    sleep()、wait()、yield()和join()方法特点及区别.docx

    1. **来源不同**:`sleep()`是`Thread`类的方法,它允许当前线程暂停执行指定的时间,然后恢复执行。而`wait()`是`Object`类的方法,主要用于线程间通信,让当前线程等待其他线程的通知。 2. **锁的释放**:`sleep...

    java-multithreading:java-多线程

    Thread.sleep(1000); // 暂停1秒 } catch (InterruptedException e) { e.printStackTrace(); } ``` - **join() 方法**:等待指定线程完成其执行。 ```java Thread otherThread = new Thread(() -> { // ...

    Java 后端面试题附答案

    - `wait()`, `sleep()`, 和 `yield()` 方法都可以使线程从运行状态进入阻塞状态。 - `notify()`用于唤醒被`wait()`阻塞的线程之一,但不会立即使当前线程进入阻塞状态。 #### 8. 线程控制方法的理解 - **知识点**...

    sleep() 方法和wait()方法的区别.docx

    sleep() 方法是 Thread 类的静态方法,它的主要作用是使当前线程进入停滞状态(阻塞当前线程),让出 CPU 的使用,目的是不让当前线程独自霸占该进程所获的 CPU 资源,以留一定时间给其他线程执行的机会。...

    java sleep和wait的解惑.docx

    在Java多线程编程中,`Thread.sleep()` 和 `Object.wait()` 是两个非常重要的方法,它们分别位于 `Thread` 类和 `Object` 类中,用于控制线程的行为。本文将深入探讨这两个方法的区别以及它们在实际开发中的应用场景...

    JVM线程状态和Thread.sleep的实现原理探究.pdf

    在探究JVM线程状态以及Thread.sleep的实现原理时,我们首先需要了解Java线程与操作系统线程之间的关系。在Java虚拟机(JVM)中,每个线程通常都是以一对一的关系映射到操作系统线程上的。然而,尽管两者在实现上是...

    Android 核心面试题

    - sleep()是Thread类的方法,调用时不会释放对象锁。 - wait()是Object类的方法,调用时会释放对象锁,并交出CPU执行时间。 9. 线程通信机制: - wait、notify、notifyAll用于线程间通信,可以实现等待/通知模式...

    深入理解Wait、Notify和Wait与sleep区别

    现在我们来看`sleep()`方法,它来自Thread类,用于让当前运行的线程暂时停止执行一段时间。`sleep()`不会释放对象锁,只是让线程进入可中断的睡眠状态。时间到了或者被其他线程中断(调用`interrupt()`方法),线程...

    黑马面试题总结

    - `Thread.sleep()`与`Object.wait()`有何不同? --- #### 二、输入输出流 **知识点:** - **Java中的流分类:** - **字节流**:处理字节的数据,如`InputStream`和`OutputStream`。 - **字符流**:处理字符的...

    H:\大java后台笔记\蚂蚁课堂面试宝典\2018年蚂蚁课堂(每特教育)-Java工程师面试宝典-V1.0.docx

    - **`wait()`与`sleep()`的区别**: - `sleep()`:线程暂停执行指定的时间后自动恢复。 - `wait()`:线程放弃对象锁等待通知。 - **`Lock`与`synchronized`的区别**: - `Lock`接口提供了更灵活的锁机制,支持非...

Global site tag (gtag.js) - Google Analytics