threadingtest - python threading中的lock rlock 为何rlock可以调用多次acquire
阿神
阿神 2017-04-18 10:31:29
0
2
637

在python的多线程中,使用threading中的lock rlock锁, 为何rlock可以调用多次acquire,lock缺不能,lock调用多次而且会发生死锁,rlock不会,求大神指点下

阿神
阿神

闭关修行中......

membalas semua(2)
黄舟

rlock ialah kunci masuk semula Anda hanya boleh memahami bahawa ia disertakan dengan pembilang mempunyai pembilang +1, dan keluaran mempunyai pembilang nilai negatif tidak dibenarkan, jika tidak, pengecualian akan berlaku .

Mengapa anda melakukan ini? Kerana senario aplikasi berbeza, kunci masuk semula boleh memanggil kaedah lain yang memerlukan kunci, tetapi kunci bukan masuk semula tidak boleh melakukan ini.

def fun1():
    rlock.acquire()
    fun2()
    rlock.release()

def fun2():
    rlock.acquire()
    rlock.release()
PHPzhong

Perbezaan antara kunci dan rlock ialah r:
reentrant, yang boleh dimasukkan berulang kali Sesuatu thread boleh memperoleh rlock yang sama beberapa kali tanpa disekat Jika thread memperoleh rlock beberapa kali, ia mesti mengeluarkan nombor yang sama kali. Barulah rlock ini boleh dikeluarkan.

Kunci adalah berbeza Ia hanya boleh diperoleh sekali dan tidak boleh diperoleh semula sebelum ia dikeluarkan.

Untuk maklumat lanjut, sila rujuk jawapan ini:
http://stackoverflow.com/ques...

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan