![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jvm
Crystal Cui
一年中小型互联网企业工作经验,两年世界500强外企经验。
展开
-
线程,多线程,Java内存区域
共享内存及问题 共享内存 每个线程表示一条单独的执行流,有自己的程序计数器,有自己的栈,但线程之间可以共享内存,它们可以访问和操作相同的对象。 不同执行流可以访问和操作相同的变量, 不同执行流可以执行相同的程序代码。 当多条执行流执行相同的程序代码时,每条执行流都有单独的栈,方法中的参数和局部变量都有自己的一份。 当多条执行流可以操作相同的变量时,可能会出现一些意料之外的结果: 竞态...原创 2018-02-12 10:33:26 · 225 阅读 · 0 评论 -
并发编程的三大概念:原子性,有序性,可见性
原子性 1.定义 原子性:即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。 2.实例 一个很经典的例子就是银行账户转账问题: 比如从账户A向账户B转1000元,那么必然包括2个操作:从账户A减去1000元,往账户B加上1000元。 如果这2个操作不具备原子性,会造成什么样的后果。假如从账户A减去1000元之后,操作突然中止。这样就会导致账户A虽然减原创 2018-02-06 19:38:46 · 477 阅读 · 0 评论