摘要: 在多线程系统中,彼此之间的通信协作非常重要,下面来聊聊线程间通信的几种方式。 wait/notify 想像一个场景,A、B两个线程操作一个共享List对象,A对List进行add操作,B线程等待List的size=500时就打印记录日志,这要怎么处理呢? 一个办法就是,B线程while (true) 阅读全文
posted @ 2021-12-14 15:34 让我发会呆 阅读(401) 评论(0) 推荐(0) 编辑
摘要: 上文说到了 synchronized,那么就不得不说下 volatile关键字了,它们两者经常协同处理多线程的安全问题。 volatile保证可见性 那么volatile的作用是什么呢? 在jvm运行时刻内存的分配中有一个内存区域是jvm虚拟机栈,每一个线程运行时都有一个线程栈, 线程栈保存了线程运 阅读全文
posted @ 2021-12-14 10:54 让我发会呆 阅读(123) 评论(0) 推荐(0) 编辑