• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Java > Java线程中的notifyAll唤醒操作(推荐)

Java线程中的notifyAll唤醒操作(推荐)

作者:温柔的鲨鱼 字体:[增加 减小] 来源:互联网 时间:2017-05-28

温柔的鲨鱼 通过本文主要向大家介绍了java notifyall,notifyall,notify和notifyall,android notifyall,adapter.notifyall等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

注意:

java中的notifyAll和notify都是唤醒线程的操作,notify只会唤醒等待池中的某一个线程,但是不确定是哪一个线程,notifyAll是针对指定对象里面的所有线程执行唤醒操作,指定对象一旦唤醒成功。则会立即加入线程的资源争夺中去。

例如:

package TestThread.ThreadSynchronized;
public class TestWaitAll {
 public static void main(String[] args) {
  Test1 test1 = new Test1();
  Thread t = new Thread(test1, "线程1");
  Thread t1 = new Thread(test1, "线程2");
  Thread t2 = new Thread(test1, "线程3");
  Test2 test2 = new Test2(test1, "唤醒线程");
  t.start();
  t1.start();
  t2.start();
  try {
   Thread.sleep(2000);
  } catch (InterruptedException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  test2.start();
 }
}
class Test1 implements Runnable {
 public void run() {
  synchronized (this) {
   try {
    this.wait();
   } catch (InterruptedException e) {
    e.printStackTrace();
   }
   System.out.println(Thread.currentThread().getName() + "当前没有被执行到!");
  }
 }
}
class Test2 extends Thread {
 private Test1 test1;
 String name;
 public Test2(Test1 test1, String name) {
  super(name);
  this.name = name;
  this.test1 = test1;
 }
 public void run() {
  synchronized (test1) {
   test1.notifyAll();// 针对当前对象执行唤醒所有线程的操作
   System.out.println(Thread.currentThread().getName() + ":唤醒线程执行成功!");
  }
 }
}
</div>

 执行结果为:

以上所述是小编给大家介绍的Java线程中的notifyAll唤醒操作,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Java多线程基础 线程的等待与唤醒(wait、notify、notifyAll)
  • Java通过wait()和notifyAll()方法实现线程间通信
  • Java线程中的notifyAll唤醒操作(推荐)
  • Java多线程基础 线程的等待与唤醒(wait、notify、notifyAll)
  • Java通过wait()和notifyAll()方法实现线程间通信

相关文章

  • 2017-05-28Java 实现FTP服务实例详解
  • 2017-05-28java 指定某个jdk版本方法
  • 2017-05-28解决Java原生压缩组件不支持中文文件名乱码的问题
  • 2017-05-28java Socket实现简单模拟HTTP服务器
  • 2017-05-28Java Annotation详解及实例代码
  • 2017-05-28详解Spring boot上配置与使用mybatis plus
  • 2017-05-28String类下compareTo()与compare()方法比较
  • 2017-05-28详解Java 自动装箱与拆箱的实现原理
  • 2017-11-12大括号{}的意义与静态代码块与构造函数的加载关系
  • 2017-05-28java中ArrayList与LinkedList对比详情

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Java中四种访问权限资料整理
    • spring boot如何添加拦截器
    • 详解Java中的 枚举与泛型
    • Spring Batch读取txt文件并写入数据库的方法教程
    • Java容器HashMap与HashTable详解
    • Java Socket编程(四) 重复和并发服务器
    • Ajax实现搜索引擎自动补全功能
    • Java常用数字工具类 大数乘法、加法、减法运算(2)
    • Java技术汇总
    • 详解Spring缓存注解@Cacheable,@CachePut , @CacheEvict使用

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有