
多线程
趣谈编程
就职于世界五十强公司,趣谈编程公众号作者,主要研究并发,算法,Java,欢迎关注趣谈编程微信公众号,所有付费内容免费领,海量资料免费领,国内顶尖程序员一对一解答
展开
-
Java并发编程系列(一)——Volatile
在讨论Volatile关键字之前,我们先来聊聊并发 什么是并发?为什么需要并发?并发会产生什么问题、是如何解决的?接下来我们就看看这些问题 什么是并发? 并发简单来说就是在一个CPU上(也可以是多个CPU),在一段时间之内,同时启动了多个进程或线程,在宏观上看好像多个进程或线程在同时执行,其实在一个确定的时刻,一个CPU上只有一个线程或者进程在运行。 为什么需要并发? ①提高资源利用率:如原创 2017-05-09 17:29:21 · 401 阅读 · 0 评论 -
happens-before揭秘
面试官:讲讲happens-beforehappens-before是判断数据是否存在竞争、线程是否安全的重要依据,今天我们来听听程序员与JMM的对话JMM的自我介绍Hello 大家好,我原名叫Java Memory Model(Java 内存模型),大家都叫我JMM,简洁又好听,我挺喜欢。并发编程这块,没有我可是不行的,我要解决的问题就是一个线程对共享变量的写入何时对另一个线程可见比如一个线程给原创 2017-10-01 11:31:28 · 4289 阅读 · 4 评论 -
轻而快的CAS
面试官: 讲讲CAS,CAS会有什么问题?慢腾腾的synchronized并发世界,分秒必争,快者为王,synchronized那厮,整天情绪消极,完全一个悲观主义者,怎么说呢?每当他访问一个共享变量的时候,他都认为这个共享变量会被其他人所修改,所以他就给这个共享变量加一个锁,自己独占着,这样别人就不能修改了可是这样导致一个结果就是每当一个线程要来修改这块共享变量的时候,都会被挂起,这样一来,操作系原创 2017-10-04 17:23:55 · 869 阅读 · 2 评论