diff options
author | Guido van Rossum <guido@python.org> | 1994-05-16 09:34:05 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1994-05-16 09:34:05 (GMT) |
commit | 655f600b5876a4f1bd19b2adbb489524e11296b3 (patch) | |
tree | 97ed0e8b2292f78d31b314d3b7564b144f10fa02 /Demo/threads | |
parent | dc3c53cf8d65bebd2ced151f693a78c47ae939de (diff) | |
download | cpython-655f600b5876a4f1bd19b2adbb489524e11296b3.zip cpython-655f600b5876a4f1bd19b2adbb489524e11296b3.tar.gz cpython-655f600b5876a4f1bd19b2adbb489524e11296b3.tar.bz2 |
Don't use thread.exit_prog(); set a global variable to stop other
thread
Diffstat (limited to 'Demo/threads')
-rw-r--r-- | Demo/threads/wpi.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/Demo/threads/wpi.py b/Demo/threads/wpi.py index e408d21..d4c0ef9 100644 --- a/Demo/threads/wpi.py +++ b/Demo/threads/wpi.py @@ -1,16 +1,19 @@ # Display digits of pi in a window, calculating in a separate thread. # Compare ../scripts/pi.py. +import sys import time import thread import stdwin from stdwinevents import * +ok = 1 + digits = [] def worker(): k, a, b, a1, b1 = 2l, 4l, 1l, 12l, 4l - while 1: + while ok: # Next approximation p, q, k = k*k, 2l*k+1l, k+1l a, b, a1, b1 = a1, b1, p*a+q*a1, p*b+q*b1 @@ -23,11 +26,13 @@ def worker(): d, d1 = a/b, a1/b1 def main(): + global ok digits_seen = 0 thread.start_new_thread(worker, ()) tw = stdwin.textwidth('0 ') lh = stdwin.lineheight() stdwin.setdefwinsize(20 * tw, 20 * lh) + stdwin.setdefscrollbars(0, 1) win = stdwin.open('digits of pi') options = win.menucreate('Options') options.additem('Auto scroll') @@ -37,7 +42,8 @@ def main(): win.settimer(1) type, w, detail = stdwin.getevent() if type == WE_CLOSE: - thread.exit_prog(0) + ok = 0 + sys.exit(0) elif type == WE_DRAW: (left, top), (right, bottom) = detail digits_seen = len(digits) |