java高并发设计(一)--概念

可紊 提交于 2020-03-06 13:38:27

java高并发的核心,要了解并熟悉java的内存模型,并涉及相关的资源临界值。

java的内存模型围绕多线的技术要点:原子性,可见性,有序性。

原子性:原子性是指整个操作过的不可中断性,明确的说就是线程在执行过程中是顺序执行的,一旦开始操作将不受其他线程的干扰。比如对已经全局的变量进行复制的操作,每个线程都可以对其进行重新设值的操作,但是在多线程执行中,没有安全机制的情况下,不能保证其操作的原子性,有可能最终的结果不是你想看到的。所以最先的设置就是原子性。

可见性:可见性就是一个线程修改了某一个共享的变量或者资源,其他线程能够立即知道这个修改,可以参考java中的volatile关键字的效果。如果没有安全机制,一个全局变量的设置,在多线程执行下,一个线程对变量的修改对其他线程可能是不可见的,因为在多线程并发操作情况下,两个线程会同时修改该变量。

有序性:在单线程执行下,所有的代码操作计划都是顺序执行的,前面的代码总是优先执行。但是在多线程中,程序的执行顺序有可能就会出现混乱。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!