并发编程
瑞扬帆
Java小白,后台萌新,专业装系统,杀毒。
展开
-
JAVA lamda表达式之parallelStream
前几天在项目中遇到了一个问题,在用Java的list.parallelStream.foreach()方法时,出现了indexOutOfBoundary异常。经过查资料,发现这是因为在高并发对list进行遍历操作时,发生了线程安全问题,所以,若要用该方法遍历数组或集合时,有必然使用线程安全的集合,或者做好线程安全的控制。当然,如果数据量不大的话,可以考虑使用list.foreach,而不是p...原创 2019-10-27 21:46:57 · 363 阅读 · 0 评论 -
为什么HashMap不安全
一直以来只是知道HashMap是线程不安全的,但是到底HashMap为什么线程不安全,多线程并发的时候在什么情况下可能出现问题?HashMap底层是一个Entry数组,当发生hash冲突的时候,hashmap是采用链表的方式来解决的,在对应的数组位置存放链表的头结点。对链表而言,新加入的节点会从头结点加入。javadoc中关于hashmap的一段描述如下:此实现不是同步的。如果多个线程同时访问一转载 2017-08-29 21:53:56 · 2126 阅读 · 1 评论 -
分布式锁
本文转自:http://www.hollischuang.com/archives/1716 目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只转载 2017-08-31 12:25:32 · 198 阅读 · 0 评论