文章目录
线程锁,进程锁,分布式锁的作用都是一样的,只是作用的范围大小不同。
范围大小:分布式锁 > 进程锁 > 线程锁。能用线程锁,进程锁情况下使用分布式锁也是可以的,能用线程锁的情况下使用进程锁也是可以的。
只是范围越大技术复杂度就越大。
一、线程锁
大家都不陌生,主要用来给方法、代码块加锁。
当某个方法或者代码块使用锁时,那么在同一时刻至多仅有有一个线程在执行该段代码。
当有多个线程访问同一对象的加锁方法/代码块时,同一时间只有一个线程在执行,其余线程必须要等待当前线程执行完之后才能执行该代码段。
但是,其余线程是可以访问该对象中的非加锁代码块的。
常用的线程锁有 synchronized,reentrantlock 等
具体内容可参考:
二、进程锁
也是为了控制同一操作系统中多个进程访问一个共享资源&