0 0

java中wait和notify的用法0

现在有个不明白的地方,就是假设有个List,
我想起一个线程去读取List的长度,如果List为空的时候,线程就wait,如果List中有值了,就notify去获取它的长度,这样改怎么实现呢?
2012年9月12日 10:26

4个答案 按时间排序 按投票排序

0 0

wait是等待 释放资源,和sleep差不多。但sleep不释放资源 notify是唤醒等待的线程 如果被唤醒的线程发现还是没有符合条件,则继续wait!实现那种list,在run方法里判断list的长度,为空则wait,被唤醒的时候也判断list长度,为空则继续wait

2012年9月12日 14:24
0 0

BlockingQueque  阻塞队列 满足你的需求

2012年9月12日 10:36
0 1

这个就是个 生产者-消费者 问题,至于具体实现就太多了。还有也可以参照一下 JDK 新增的并发编程包

2012年9月12日 14:43
0 1

【如果List中有值了】你要有一个while去一直监视它。或者在list有值时“触发的方法”里notify 自己实现,或工具都可以

2012年9月12日 14:27

相关推荐

    java之wait,notify的用法([ 详解+实例 ])

    Java之wait和notify的用法详解 在Java多线程编程中,wait和notify是两个非常重要的方法,它们都是Object类的方法,用于线程之间的通信和同步。下面我们将详细解释wait和notify的用法。 wait方法 wait方法是Object...

    Java 同步方式 wait和notify/notifyall

    在Java中,`wait()`, `notify()`, 和 `notifyAll()` 是Java Object类的三个方法,它们在实现线程间通信和协作时扮演着关键角色。这些方法主要用于解决线程等待和唤醒的问题,是基于Java Monitor(监视器)模型的。 ...

    JAVAWAIT和NOTIFY的用法.pdf

    JAVAWAIT和NOTIFY的用法.pdf

    Java多线程wait和notify

    需要注意的是,`wait()`、`notify()` 和 `notifyAll()` 必须在同步块或同步方法中调用,以避免出现 `IllegalMonitorStateException`。此外,`InterruptedException` 在 `wait()` 中应该被妥善处理,通常是重新抛出或...

    java中几个notify、wait使用实例

    `wait()`、`notify()`和`notifyAll()`方法是Java中实现线程同步的关键工具。正确使用它们可以有效避免线程间的竞争条件和死锁问题,同时也能实现线程间的高效通信。在实际开发中,应根据具体的应用场景选择合适的...

    java-wait和notify的用法.pdf

    在Java编程语言中,`wait()`和`notify()`是Object类中的两个关键方法,它们用于线程间的协作和通信。这两个方法在多线程环境下尤其重要,因为它们允许线程等待特定条件并通知其他线程继续执行。在分析给定的程序之前...

    Java的sychronized、wait和notify范例

    在提供的压缩包文件`java_sychronization`中,可能包含了一些示例代码,用于演示如何在Java中使用`synchronized`关键字以及`wait()`和`notify()`方法。通过研究这些样例,你可以更深入地了解这些工具的用法和效果。...

    wait_notify_demo

    `wait()`、`notify()`和`notifyAll()`是Java中的三个关键字,它们属于Object类的方法,主要用于线程间的通信,尤其在实现生产者消费者模式时发挥着重要作用。本文将深入探讨这些方法以及如何在实际场景中应用它们。 ...

    Java 同步锁 wait notify 学习心得

    标题和描述概述的知识点主要集中在Java的多线程机制中,特别是`wait`和`notify`方法在同步锁中的应用。这些方法对于控制线程之间的交互至关重要,尤其是在资源有限或需要确保数据一致性的情况下。 ### Java同步锁...

    浅谈java多线程wait,notify

    在本文中,我们将通过示例代码详细介绍Java多线程wait和notify的使用,帮助读者更好地理解和掌握这两个机制。 wait机制 在Java中,wait机制用于暂停当前线程的执行,并释放当前对象的锁,以便让其他线程获得锁并...

    一个理解wait()与notify()的例子

    - 在`run`方法中使用`synchronized(this)`确保对`this`对象的操作是同步的。 - 计算累加总和并在每次累加后输出当前总和。 - 调用`notify()`方法唤醒正在等待的线程。 #### `synchronized`关键字 `Synchronized...

    Java多线程中wait、notify、notifyAll使用详解

    Java多线程中wait、notify、notifyAll使用详解 Java中多线程编程中,wait、notify、notifyAll三个方法是非常重要的,它们都是Object对象的方法,用于线程之间的通信。下面我们将详细介绍这三个方法的使用和作用。 ...

    wait()、notify()和notifyAll()方法1---马克-to-win java视频

    wait()、notify()和notifyAll()方法1---马克-to-win java视频

    详细分析java线程wait和notify

    总之,`wait()`和`notify()`是Java多线程中实现线程间同步和通信的重要手段,它们需要在同步上下文中谨慎使用,以确保线程安全和预期的行为。正确理解和使用这两个方法对于编写高效、可靠的并发程序至关重要。

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

    本文将深入探讨`wait()`, `notify()`以及它们与`sleep()`方法的区别,这些都是Java中与线程同步密切相关的概念。 首先,`wait()`, `notify()`和`notifyAll()`是Object类中的方法,它们主要用于线程间通信和协作。...

    java线程-保护性暂停(wait,notify实现).docx

    Java 线程保护性暂停(wait,notify 实现) ...本文详细讲解了 Java 线程中的保护性暂停机制,即 wait 和 notify 方法的实现,并提供了一个实际的示例代码,演示如何使用保护性暂停机制来实现线程之间的通信。

    详解Java程序并发的Wait-Notify机制

    1. `wait()`, `notify()`, `notifyAll()`必须在`synchronized`代码块或方法中调用,以确保线程安全。 2. 调用`wait()`后,线程会释放对象锁,等待被唤醒。当线程被唤醒后,需要重新获取锁才能继续执行。 3. `notify...

    主线程去控制子线程wait与notify

    在Java中,使用`wait()`, `notify()`, 和 `notifyAll()`必须在同步块或者同步方法中,因为它们涉及到对共享资源的访问。这是为了避免出现竞态条件,确保只有一个线程在执行这些操作。 主线程控制子线程的`wait()`和...

    39.线程间的通信-wait与notify-wait方法自动释放锁与notify方法不会释放锁.mp4

    在学习Java过程中,自己收集了很多的Java的学习资料,分享给大家,有需要的欢迎下载,希望对大家有用,一起学习,一起进步。

    Java 中Object的wait() notify() notifyAll()方法使用

    Java 中Object的wait() notify() notifyAll()方法使用 在Java并发编程中,Object的wait()、notify()和...wait()、notify()和notifyAll()方法是Java并发编程中非常重要的概念,理解它们的使用方法和价值是非常重要的。

Global site tag (gtag.js) - Google Analytics