多线程和高并发通关整理1-缓存一致性、java内存模型、synchronized、lock 和 volatile区别、锁、线程池原理、核心参数、线程创建
多线程和高并发
1.缓存一致性问题
当程序在运行过程中,会将运算需要的数据从主存复制一份到 CPU 的高速缓存当中,那么 CPU 进行计算时就可以直接从它的高速缓存读取数据和向其中写入数据,当运算结束之后,再将高速缓存中的数据刷新到主存当中。
在单线程中,运行是没有问题的,但是在多线程中,由于每个线程可能是由不同的cpu执行(单核cpu也会出现缓存一致性的问题),当两个线程同时进行写操作时,就有可能在读写过程中出现一个修改后,另外一个线程只是在原来的基础上修改,导致结果和预期不大一样,出现缓存不一致的问题
原创
2020-09-15 15:45:51 ·
301 阅读 ·
0 评论