常规锁和Python中的Rlock之间的一个区别是,常规锁可以由不同的线程释放,而重入锁必须由获取它的同一个线程释放,同时要求解锁次数应与加锁次数相同,才能用于另一个线程。另外,需要注意的是一定要避免在多个线程之间拆分锁定 *** 作,如果一个线程试图释放一个尚未获取的锁,Python将引发错误并导致程序崩溃。
通常会在递归中使用可重入锁。因为常规锁是无法嵌套使用的,如下图所示。如果按照下图使用锁,将会导致死锁的发生。
欢迎分享,转载请注明来源:内存溢出
常规锁和Python中的Rlock之间的一个区别是,常规锁可以由不同的线程释放,而重入锁必须由获取它的同一个线程释放,同时要求解锁次数应与加锁次数相同,才能用于另一个线程。另外,需要注意的是一定要避免在多个线程之间拆分锁定 *** 作,如果一个线程试图释放一个尚未获取的锁,Python将引发错误并导致程序崩溃。
通常会在递归中使用可重入锁。因为常规锁是无法嵌套使用的,如下图所示。如果按照下图使用锁,将会导致死锁的发生。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)