摘要:
Condition是一个多线程协调通信的工具类,可以让某些线程一起等待某个条件(condition),只有满足条件时,线程才会被唤醒 condition中两个最重要的方法,一个是await,一个是signal方法 await:把当前线程阻塞挂起 signal:唤醒阻塞的线程 示例: 线程awaitT 阅读全文
摘要:
J.U.C简介 Java.util.concurrent是在并发编程中比较常用的工具类,里面包含很多用来在并发场景中使用的组件。比如线程池、阻塞队列、计时器、同步器、并发集合等等。 Lock Lock在J.U.C中是最核心的组件,前面我们讲synchronized的时候说过,锁最重要的特性就是解决并 阅读全文
摘要:
volatile的作用 volatile可以使得在多处理器环境下保证了共享变量的可见性,那么到底什么是可见性呢?不知道大家有没有思考过这个问题 在单线程的环境下,如果向一个变量先写入一个值,然后在没有写干涉的情况下读取这个变量的值,那这个时候读取到的这个变量的值应该是之前写入的那个值。这本来是一个很 阅读全文
摘要:
示例: 运行结果: 997 如何保证线程并行的数据安全问题? 我们可以思考一下,问题的本质在于共享数据存在并发访问。如果我们能够有一种方法使得线程的并行变成串行,那是不是就不存在这个问题呢? 按照大家已有的知识,最先想到的应该就是锁吧。 synchronized的基本认识 在多线程并发编程中sync 阅读全文