阻塞与死锁的关系及区别


摘要:
下文主要讲述阻塞和死锁的区别


阻塞和死锁通常出现在并发编程中,当一个系统,大量用户同时操作某一功能时,由于处理不妥,会产生阻塞或死锁,
当阻塞和死锁产生时,会导致程序使用不畅,偶有异常发生。
—————————————————–

阻塞:阻塞的产生原因是由于资源不足,而导致程序在运行时,出现等待状态,类似于高速公路塞车,需要慢慢的消化,随着时间的加长,阻塞的sql脚本信息,会得到执行。
死锁:死锁的产生原因是由于资源互相竞争,并且无法相让,类似于高速公里两辆车相对行驶,无法相让,导致sql脚本的执行出现无限制的等待,我们将这种情况称之为死锁。
阻塞和死锁的最大区别:阻塞如果在资源充足的情况下会得到解决 而 死锁 是一种程序异常,需要牺牲一个进程。