等待/通知机制
- 等待/通知机制,是指一个线程 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
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于