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

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

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

原子性:原子性是指整个操做过的不可中断性,明确的说就是线程在执行过程当中是顺序执行的,一旦开始操做将不受其余线程的干扰。好比对已经全局的变量进行复制的操做,每一个线程均可以对其进行从新设值的操做,可是在多线程执行中,没有安全机制的状况下,不能保证其操做的原子性,有可能最终的结果不是你想看到的。因此最早的设置就是原子性。多线程

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

有序性:在单线程执行下,全部的代码操做计划都是顺序执行的,前面的代码老是优先执行。可是在多线程中,程序的执行顺序有可能就会出现混乱。高并发

相关文章
相关标签/搜索