![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
灰灰&明明
这个作者很懒,什么都没留下…
展开
-
线程基础
需要了解程序会有线程安全问题, 必须要知道程序在jvm中是怎么运行的,运行的时候怎么就导致了线程安全问题了。 一、JVM运行的时的数据区域 jvm运行的数据区域分为:方法区、堆内存、虚拟机栈、本地方法栈、程序计数器。其中方法区和堆内存是线程共享的数据区域,虚拟机栈和本地方法栈、程序技术器是线程独占数据区域。如下图所示: 线程独占:每个线程都会有他的独立空间,随着线程的生命周期而创建和销毁 线程共...原创 2019-10-06 12:49:45 · 118 阅读 · 0 评论 -
多线程二之线程安全
线程安全主要分二个问题。一是可见性,二是原子性 线程安全:只有当多个线程 访问并更新共享资源时,会发生资源竞争,导致错误的结果 如果保证共享资源的正确访问? 1、栈封闭时,不会在线程之间共享的变量,都是线程安全的 2、局部对象引用本身不共享,但是引用对象存储在共享堆中。如果方法创建的对象,只是在方法中传递,并且其他线程不可用,也是线程安全的。 3、不可变的共享对象来保证对象在线程共享时不被修改,实...原创 2019-10-06 15:24:57 · 123 阅读 · 0 评论