【笔记】第 4 章 Java 并发编程基础

本贴最后更新于 2542 天前,其中的信息可能已经水流花落

等待/通知机制

  • 等待/通知机制,是指一个线程 A 调用了对象 O 的 wait()方法进入等待状态 WAITING,而另一个线程 B 调用了对象 O 的 notify()或 notifyAll()方法,线程 A 收到通知后从对象 O 的 wait()方法返回,进而执行后续操作。
  • 使用 wait()、notify()和 notifyAll()时需要先对调用对象加锁。
  • notify()或 notifyAll()方法调用后,等待线程依旧不会从 wait()返回,需要调用 notify()或 notifyAll()方法的线程释放锁之后,等待线程才有机会从 wait()返回。
  • wait 方法会释放锁,notify 和 notifyAll 方法不会释放锁。
  • 从 wait()方法返回的前提是获得了调用对象的锁。

经典范式

  • 等待方
synchronized(对象){
  while(条件不满足){
	对象.wait();
  }
  对应的处理逻辑
}
  • 通知方
synchronized(对象){
  改变条件
  对象.notifyAll();
}

管道输入/输出流

  • 4 个类。PipedOutputStream、PipedInputStream、PipedReader、PipedWriter
  • 使用前需要调用 connect()方法进行绑定。

ThreadLocal

深入剖析 ThreadLocal

  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3187 引用 • 8213 回帖
  • 线程
    122 引用 • 111 回帖 • 3 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...