分布式锁01--介绍

2023-06-29 15:00:26 浏览数 (2)

一.死锁发生的条件

在分布式计算系统中,有两个以上的进程在并发执行,每个进程都在等待被其它的进程所占用的系统资源而不能继续运行,即导致系统中任何一个进程都无法运行下去(死循环),这就产生了死锁。

当且仅当以下四个条件同时成立时,死锁才会发生:

1) 互斥。同一个资源在同一时刻最多只能被一个进程占用。

2) 占有并等待。必然有一个进程至少占用了系统中的一个资源,同时在等待获取被其他进程占用的资源。

3) 不可剥夺。一个进程不能剥夺被其他进程占用的资源。

4) 循环等待。在等待图中有一个循环。

一般进程僵死可能出现的原因有若干种情况,考虑最常见的两种情况:

(1)内存资源被耗完。

(2)资源泄露,某些连接或线程未被关闭。

二.Hadoop锁

hadoop分布式锁使用的是租期方式,服务器端持有锁,会等待客户端,如果客户端没有续租,则将锁释放,否则需要客户端的请求到达时进行续租。

0 人点赞