summaryrefslogtreecommitdiffstats
path: root/Lib/threading.py
diff options
context:
space:
mode:
authorBrett Cannon <bcannon@gmail.com>2010-07-23 15:50:02 (GMT)
committerBrett Cannon <bcannon@gmail.com>2010-07-23 15:50:02 (GMT)
commit148724d39b082d9ea19297262d97984127594f14 (patch)
treec2ba277efb74e34f4980dd1c519f97ceaad9003d /Lib/threading.py
parentf079c57c352d2348510aa090b11c8b643f8833db (diff)
downloadcpython-148724d39b082d9ea19297262d97984127594f14.zip
cpython-148724d39b082d9ea19297262d97984127594f14.tar.gz
cpython-148724d39b082d9ea19297262d97984127594f14.tar.bz2
Rip out old testing code that was inlined in threading.
Partially closes issue 9346. Thanks Brian Brazil for the patch.
Diffstat (limited to 'Lib/threading.py')
-rw-r--r--Lib/threading.py88
1 files changed, 0 insertions, 88 deletions
diff --git a/Lib/threading.py b/Lib/threading.py
index 2ca224e..dd6e91d 100644
--- a/Lib/threading.py
+++ b/Lib/threading.py
@@ -871,91 +871,3 @@ def _after_fork():
_active.clear()
_active.update(new_active)
assert len(_active) == 1
-
-
-# Self-test code
-
-def _test():
-
- class BoundedQueue(_Verbose):
-
- def __init__(self, limit):
- _Verbose.__init__(self)
- self.mon = RLock()
- self.rc = Condition(self.mon)
- self.wc = Condition(self.mon)
- self.limit = limit
- self.queue = deque()
-
- def put(self, item):
- self.mon.acquire()
- while len(self.queue) >= self.limit:
- self._note("put(%s): queue full", item)
- self.wc.wait()
- self.queue.append(item)
- self._note("put(%s): appended, length now %d",
- item, len(self.queue))
- self.rc.notify()
- self.mon.release()
-
- def get(self):
- self.mon.acquire()
- while not self.queue:
- self._note("get(): queue empty")
- self.rc.wait()
- item = self.queue.popleft()
- self._note("get(): got %s, %d left", item, len(self.queue))
- self.wc.notify()
- self.mon.release()
- return item
-
- class ProducerThread(Thread):
-
- def __init__(self, queue, quota):
- Thread.__init__(self, name="Producer")
- self.queue = queue
- self.quota = quota
-
- def run(self):
- from random import random
- counter = 0
- while counter < self.quota:
- counter = counter + 1
- self.queue.put("%s.%d" % (self.name, counter))
- _sleep(random() * 0.00001)
-
-
- class ConsumerThread(Thread):
-
- def __init__(self, queue, count):
- Thread.__init__(self, name="Consumer")
- self.queue = queue
- self.count = count
-
- def run(self):
- while self.count > 0:
- item = self.queue.get()
- print(item)
- self.count = self.count - 1
-
- NP = 3
- QL = 4
- NI = 5
-
- Q = BoundedQueue(QL)
- P = []
- for i in range(NP):
- t = ProducerThread(Q, NI)
- t.name = "Producer-%d" % (i+1)
- P.append(t)
- C = ConsumerThread(Q, NI*NP)
- for t in P:
- t.start()
- _sleep(0.000001)
- C.start()
- for t in P:
- t.join()
- C.join()
-
-if __name__ == '__main__':
- _test()