[Python-checkins] r60189 - python/trunk/Lib/threading.py

gregory.p.smith python-checkins at python.org
Tue Jan 22 02:12:03 CET 2008


Author: gregory.p.smith
Date: Tue Jan 22 02:12:02 2008
New Revision: 60189
Modified:
 python/trunk/Lib/threading.py
Log:
Replace spam.acquire() try: ... finally: spam.release() with "with spam:"
Modified: python/trunk/Lib/threading.py
==============================================================================
--- python/trunk/Lib/threading.py	(original)
+++ python/trunk/Lib/threading.py	Tue Jan 22 02:12:02 2008
@@ -347,27 +347,18 @@
 return self.__flag
 
 def set(self):
- self.__cond.acquire()
- try:
+ with self.__cond:
 self.__flag = True
 self.__cond.notifyAll()
- finally:
- self.__cond.release()
 
 def clear(self):
- self.__cond.acquire()
- try:
+ with self.__cond:
 self.__flag = False
- finally:
- self.__cond.release()
 
 def wait(self, timeout=None):
- self.__cond.acquire()
- try:
+ with self.__cond:
 if not self.__flag:
 self.__cond.wait(timeout)
- finally:
- self.__cond.release()
 
 # Helper to generate new thread names
 _counter = 0
@@ -531,10 +522,9 @@
 pass
 
 def __stop(self):
- self.__block.acquire()
- self.__stopped = True
- self.__block.notifyAll()
- self.__block.release()
+ with self.__block:
+ self.__stopped = True
+ self.__block.notifyAll()
 
 def __delete(self):
 "Remove current thread from the dict of currently running threads."
@@ -560,15 +550,12 @@
 # since it isn't if dummy_threading is *not* being used then don't
 # hide the exception.
 
- _active_limbo_lock.acquire()
- try:
+ with _active_limbo_lock:
 try:
 del _active[_get_ident()]
 except KeyError:
 if 'dummy_threading' not in _sys.modules:
 raise
- finally:
- _active_limbo_lock.release()
 
 def join(self, timeout=None):
 if not self.__initialized:
@@ -581,8 +568,7 @@
 if __debug__:
 if not self.__stopped:
 self._note("%s.join(): waiting until thread stops", self)
- self.__block.acquire()
- try:
+ with self.__block:
 if timeout is None:
 while not self.__stopped:
 self.__block.wait()
@@ -600,8 +586,6 @@
 else:
 if __debug__:
 self._note("%s.join(): thread stopped", self)
- finally:
- self.__block.release()
 
 def getName(self):
 assert self.__initialized, "Thread.__init__() not called"


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /