1.并发与并行?
并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行。所以无论从微观还是从宏观来看,二者都是一起执行的。 并发(concurrency):指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。 2.并发(指在同一时刻只能有一条指令执行)三大特性 并发是解决多线程的同步,互斥,分工的问题?1).可见性
当一个线程修改了共享变量的值,其他线程能够看到修改的值
如何保证可见性.
通过 volatile 关键字保证可见性。
通过 内存屏障保证可见性。
通过 synchronized 关键字保证可见性。
通过 Lock保证可见性。
通过 final 关键字保证可见性
2).有序性
即程序执行的顺序按照代码的先后顺序执行。
如何保证有序性
通过 volatile 关键字保证有序性。
通过 内存屏障保证有序性。
通过 synchronized关键字保证有序性。
通过 Lock保证有序性。
3).原子性
一个或多个操作,要么全部执行且在执行过程中不被任何因素打断,要么全部不执行。
如何保证原子性
通过 synchronized 关键字保证原子性。
通过 Lock保证原子性。
通过 CAS保证原子性
标签:通过,Java,关键字,编程,并发,保证,有序性,执行 From: https://www.cnblogs.com/blogs6/p/17058159.html