擅长:python、mysql、java
<p>可以使用<code>threading</code>模块的<code>Lock.acquire(False)</code>获得“<strong>try lock</strong>”行为(参见<a href="http://docs.python.org/2/library/threading.html#threading.Lock.acquire" rel="noreferrer">Python doc</a>):</p>
<pre><code>import threading
import time
my_lock = threading.Lock()
successfully_acquired = my_lock.acquire(False)
if successfully_acquired:
try:
print "Successfully locked, do something"
time.sleep(1)
finally:
my_lock.release()
else:
print "already locked, exit"
</code></pre>
<p>我想不出一个令人满意的方法来使用<code>with</code>。在</p>