为什么这段代码不会造成死锁?privatestaticreadonlyobjecta=newobject();...lock(a){lock(a){....}} 最佳答案 如果线程已经持有锁,那么它可以毫无问题地再次“获取该锁”。至于为什么,即(以及为什么这是个好主意),请考虑以下情况,我们在a->b的程序的其他地方定义了锁顺序:voidf(){lock(a){/*dostuffinsidea*/}}voiddoStuff(){lock(b){//dostuffinsideb,thatinvolvesleavingbinaninco