返回顶部
首页 > 资讯 > 精选 >怎么在java中唤醒notify()
  • 124
分享到

怎么在java中唤醒notify()

2023-06-14 17:06:08 124人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关怎么在java中唤醒notify(),文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、WEB应用程

这篇文章将为大家详细讲解有关怎么在java中唤醒notify(),文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

Java是什么

Java是一门面向对象编程语言,可以编写桌面应用程序、WEB应用程序、分布式系统和嵌入式系统应用程序。

1.概念

随机唤醒一个在一样的对象监视器上等待的线程。通知一个在对象上等待的线程,也就是对象wait set中的线程,使其从wait()方法返回,而返回的前提是该线程获取到了对象的

2.语法

public final void notify()

3.参数

4.返回值

没有返回值

5.使用注意

notify()也必须在同步方法或同步代码块中调用,用来唤醒等待该对象的其他线程。如果有多个线程在等待,随机挑选一个线程唤醒(唤醒哪个线程由jdk版本决定)。notify方法调用后,当前线程不会立刻释放对象锁,要等到当前线程执行完毕后再释放锁。

6.实例

注:wait()和notify()应当用在synchronized内package com.test;import java.util.ArrayList;public class ThreadWaitTeste {public static void main(String[] args) {ArrayList<String> ar = new ArrayList<String>();Product p = new Product(ar);Consumer c = new Consumer(ar);Thread t1 = new Thread(p);Thread t2 = new Thread(c);t1.start();t2.start();}}class Product implements Runnable{ArrayList<String>  array;public Product(ArrayList<String> array){this.array= array;}public void run() {while (true){     synchronized(array){if(this.array.size()<5){this.array.add("test!");this.array.add("test!");this.array.add("test!");this.array.add("test!");System.out.println("Product size : "+array.size());}else{System.out.println("Product wait size : "+array.size()+"数量少于5,等待......");try {array.wait();} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}}}class Consumer implements Runnable{ArrayList<String>  array;public Consumer(ArrayList<String> array){this.array= array;}public void run() {while(true){synchronized(array){if(this.array.size()>=5){this.array.remove(1);System.out.println("Consumer size : "+array.size());}else{try {array.notifyAll();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}}}

关于怎么在java中唤醒notify()就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: 怎么在java中唤醒notify()

本文链接: https://lsjlt.com/news/273959.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么在java中唤醒notify()
    这篇文章将为大家详细讲解有关怎么在java中唤醒notify(),文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程...
    99+
    2023-06-14
  • Java中notify是顺序唤醒还是随机唤醒的
    前言: 做 Java 开发的小伙伴,对 wait 方法和 notify 方法应该都比较熟悉,这两个方法在线程通讯中使用的频率非常高,但对于 notify 方法的唤醒顺序,有很多小伙伴...
    99+
    2024-04-02
  • Java notify唤醒源代码的示例分析
    这期内容当中小编将会给大家带来有关Java notify唤醒源代码的示例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Java notify唤醒在此对象监视器上等待的单个线程。相关的问题需要...
    99+
    2023-06-17
  • 怎么在html5中唤醒APP
    怎么在html5中唤醒APP?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。<!DOCTYPE html><html lang="...
    99+
    2023-06-09
  • linux挂起怎么唤醒
    这篇文章主要讲解了“linux挂起怎么唤醒”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux挂起怎么唤醒”吧!linux挂起可以通过fg命令唤醒,其唤醒方法是:1、登录linux系统,...
    99+
    2023-07-05
  • 怎么在微信里一键唤醒app
    这篇文章主要为大家分析了怎么在微信里一键唤醒app的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“怎么在微信里一键唤醒app”的知识吧。由于微信已经占据了大家...
    99+
    2023-06-04
  • python怎么使用send唤醒
    这篇文章给大家分享的是有关python怎么使用send唤醒的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通俗...
    99+
    2023-06-14
  • 如何唤醒与等待java中线程
    本篇文章和大家了解一下如何唤醒与等待java中线程。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。wait(), notify(), notifyAll()等方法介绍在Object.java中,定义了wait(), not...
    99+
    2023-05-31
    java 线程 ava
  • Java线程中的notifyAll唤醒操作(推荐)
    注意:java中的notifyAll和notify都是唤醒线程的操作,notify只会唤醒等待池中的某一个线程,但是不确定是哪一个线程,notifyAll是针对指定对象里面的所有线程执行唤醒操作,指定对象一旦唤醒成功。则会立即加入线程的资源...
    99+
    2023-05-31
    java 线程 notifyall
  • Java怎么使用Condition实现精准唤醒线程
    这篇文章主要讲解了“Java怎么使用Condition实现精准唤醒线程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java怎么使用Condition实现精准唤醒线程”吧!Condition...
    99+
    2023-07-05
  • Java项目中如何等待与唤醒线程
    这期内容当中小编将会给大家带来有关Java项目中如何等待与唤醒线程,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。DEMO1: wait() 与 notify()public class Test { st...
    99+
    2023-05-31
    java 线程 ava
  • Linux中进程怎么设置睡眠和唤醒
    这期内容当中小编将会给大家带来有关Linux中进程怎么设置睡眠和唤醒,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Linux 中的进程睡眠状态分类一种是可中断的睡眠状态,其状态标志位TASK_INTERR...
    99+
    2023-06-16
  • windows10没法唤醒屏幕该怎么办windows10没法唤醒屏幕解决方案
    如果我们让windows10电脑进入休眠模式,要想使用电脑的过程中却没法唤醒屏幕要怎么办呢,最先大家重启电脑,那样就可进入系统,随后开启设置中的系统软件选择项,点击变更别的电源设置,将选择项都改成从来不,最终点击储存就可以,下列就是wind...
    99+
    2023-07-10
  • 如何在Java项目中实现多线程的阻塞与唤醒
    如何在Java项目中实现多线程的阻塞与唤醒?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。java线程的阻塞及唤醒 1. sleep() 方法: sleep(…毫...
    99+
    2023-05-31
    java 多线程 ava
  • win8怎么取消计算机唤醒时输入密码(唤醒时的密码保护)
      1、打开 “控制面板”,然后将右上角查看方式修改成“大图标”,找到“电源选项”,或者直接右键单击屏幕右下角的电源图标,选择&ldq...
    99+
    2022-06-04
    密码保护 输入密码 计算机
  • android休眠唤醒机制怎么应用
    Android的休眠和唤醒机制是指系统在一段时间内处于低功耗的休眠状态,以节省电量,而当需要进行某些操作时,系统会被唤醒。以下是几种...
    99+
    2023-09-08
    android
  • win11小娜怎么设置语音唤醒
    本篇内容介绍了“win11小娜怎么设置语音唤醒”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!win11小娜可不可以语音唤醒:答:可以语音唤醒...
    99+
    2023-07-01
  • android休眠唤醒机制怎么实现
    Android的休眠和唤醒机制是通过系统级的PowerManager来实现的。下面是一个简单的示例代码,演示如何使用PowerMan...
    99+
    2023-10-20
    android
  • windows黑屏无法唤醒怎么解决
    这篇“windows黑屏无法唤醒怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“windows黑屏无法唤醒怎么解决”文...
    99+
    2023-07-01
  • 怎么在Java中正确使用wait, notify和notifyAll
    这篇文章将为大家详细讲解有关怎么在Java中正确使用wait, notify和notifyAll,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。wait, notify 和 notifyAll,这些在多线程...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作