Java高并发理论基础(一)

前言

该篇属于多线程开发理论基础,为初学者和刷面试题准备。首先熟悉这些基础理论,才能更好的理解后续持续更新代码操作示例,结合代码和理论才能更好的促进相关学习。

理论名词

​ 进程:指运行中的应用程序,每个进程都有自己独立的地址空间

​ 线程:线程则是进程中执行运算的最小单位,即执行处理机调度的基本单位,线程之间不可见

​ 局部变量(ThreadLocal):为每一个使用该变量的线程都提供了一个变量值副本

​ JMM(Java内存模型):线程之间的共享变量存储在主内存(Main Memory)中,每个线程都有一个私有的本地内存(Local Memory),本地内存中存储了该线程以读/写共享变量的副本

​ 线程安全:当多个线程访问某个方法时,不管你通过怎样的调用方式或者说这些线程如何交替的执行,我们在主程序中不需要去做任何的同步,这个类的结果行为都是我们设想的正确行为,那么我们就可以说这个类是线程安全的

​ 线程停止:当run()或者call()方法执行完的时候线程会自动结束,如果要手动结束一个线程,可以使用volatile布尔变量来推出run()方法的循环或者是取消任务来中断线程

​ 线程池:在程序启动的时候就创建若干线程来响应处理

​ 死锁:是指两个或者两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象

​ volatile(全局变量): Lock前缀的指令会引起处理器缓存写回内存,会导致其他处理器的缓存失效, 当处理器发现本地缓存失效后&

你可能感兴趣的:(Java并发编程,java,高并发,多线程,理论基础)