擅长:python、mysql、java
<p>你对垃圾收集是正确的,所以这不是一个好主意。
查看decorator,用于编写同步函数。在</p>
<p>示例:<a href="http://code.activestate.com/recipes/465057-basic-synchronization-decorator/" rel="nofollow noreferrer">http://code.activestate.com/recipes/465057-basic-synchronization-decorator/</a></p>
<p><em>编辑</em>
我还不能百分之百确定你的想法,所以我的建议可能是错误的:</p>
<pre><code>class A():
lockZ = threading.RLock()
lockY = threading.RLock()
@staticmethod
@synchroized(lockZ)
def doZStuff():
a = A()
a.doStuff('Z')
@staticmethod
@synchroized(lockY)
def doYStuff():
a = A()
a.doStuff('Y')
def doStuff(self, type):
if type == 'Z':
otherstuff()
elif type == 'B':
evenmorestuff()
</code></pre>