首先了解一下什么是线程,什么是进程?
进程:通俗地讲是正在运行的程序软件,官方地讲是操作系统进行资源分配的基本单位。
线程:进程中进行单一任务顺序的控制流。
进程和线程的关系:一个进程包含多个线程。
如图所示:
A任务: B任务:
for(int i = 0;i<100;i++){ for(int i=0;i<100;i++){
count++; count++;
} }
如图所示:
如图产生了资源争抢的问题,锁:解决多线程争抢资源问题。
重量级锁:悲观锁:在多线程当中存在着大量竞争,一旦抢到资源,锁死,不允许其他线程争抢。
特点:高并发。
轻量级锁:乐观锁:不认为有大量进程,同时争抢同一块内存资源。以版本号为基础进行操作。
特点:低并发。