写点什么

精通高并发系列

0 人感兴趣 · 8 次引用

  • 最新
  • 推荐
https://static001.geekbang.org/infoq/5e/5ecc61077dc258be0dd42a9944e52491.png?x-oss-process=image/resize,w_416,h_234

【高并发】ThreadLocal 学会了这些,你也能和面试官扯皮了!

用户头像
冰河
5 月 7 日

对共享变量加锁虽然能够保证线程的安全,但是却增加了开发人员对锁的使用技能,如果锁使用不当,则会导致死锁的问题。而ThreadLocal能够做到在创建变量后,每个线程对变量访问时访问的是线程自己的本地变量。

https://static001.geekbang.org/infoq/5e/5ecc61077dc258be0dd42a9944e52491.png?x-oss-process=image/resize,w_416,h_234

【高并发】如何使用互斥锁解决多线程的原子性问题?这次终于明白了!

用户头像
冰河
4 月 28 日

如何解决线程切换带来的原子性问题呢?答案是 保证多线程之间的互斥性。也就是说,在同一时刻只有一个线程在执行! 如果我们能够保证对共享变量的修改是互斥的,那么,无论是单核CPU还是多核CPU,都能保证多线程之间的原子性了。

https://static001.geekbang.org/infoq/5e/5ecc61077dc258be0dd42a9944e52491.png?x-oss-process=image/resize,w_416,h_234

【高并发】为何在 32 位多核 CPU 上执行 long 型变量的写操作会出现诡异的 Bug 问题?看完这篇我懂了!

用户头像
冰河
4 月 21 日

我们在32位多核CPU的计算机上以多线程的方式读写long类型的共享变量时,线程已经将变量成功写入了内存,但是重新读取出来的数据和之前写入的数据不一致,这到底是为什么呢?

https://static001.geekbang.org/infoq/5e/5ecc61077dc258be0dd42a9944e52491.png?x-oss-process=image/resize,w_416,h_234

【高并发】如何解决可见性和有序性问题?这次彻底懂了!

用户头像
冰河
4 月 20 日

今天,我们先来看看在Java中是如何解决线程的可见性和有序性问题的,说到这,就不得不提一个Java的核心技术,那就是——Java的内存模型。 如果编写的并发程序出现问题时,很难通过调试来解决相应的问题,此时,需要一行行的检查代码,这个时候,如果充分理解

https://static001.geekbang.org/infoq/5e/5ecc61077dc258be0dd42a9944e52491.png?x-oss-process=image/resize,w_416,h_234

【高并发】一文秒懂 Happens-Before 原则

用户头像
冰河
4 月 12 日

在JDK1.5版本中的Java内存模型中引入了Happens-Before原则。接下来,我们就结合案例程序来说明Java内存模型中的Happens-Before原则。

https://static001.geekbang.org/infoq/5e/5ecc61077dc258be0dd42a9944e52491.png?x-oss-process=image/resize,w_416,h_234

【高并发】解密导致并发问题的第三个幕后黑手——有序性问题

用户头像
冰河
4 月 8 日

今天继续给大家分享高并发编程相关的知识,今天给大家分享的是导致并发问题的第三个幕后黑手——有序性问题。好了,不多说了,开始今天的正题。

https://static001.geekbang.org/infoq/5e/5ecc61077dc258be0dd42a9944e52491.png?x-oss-process=image/resize,w_416,h_234

【高并发】解密导致并发问题的第二个幕后黑手——原子性问题

用户头像
冰河
3 月 28 日

今天,我们继续学习高并发相关的知识,今天给大家分享的高并发编程当中的原子性问题,好了,不多说了,直接进图今天的正题。

https://static001.geekbang.org/infoq/5e/5ecc61077dc258be0dd42a9944e52491.png?x-oss-process=image/resize,w_416,h_234

【高并发】一文解密诡异并发问题的第一个幕后黑手——可见性问题

用户头像
冰河
2 月 8 日

什么是可见性?说的直白些,就是两个线程共享一个变量,无论哪一个线程修改了这个变量,则另外的一个线程都能够看到上一个线程对这个变量的修改。这里的共享变量,指的是多个线程都能够访问和修改这个变量的值,那么,这个变量就是共享变量。

精通高并发系列_精通高并发系列技术文章_InfoQ写作社区