Hi everyone,
I'm having some fun combining two recent topics: the "Timed While
Loops" game and that of communication between threads. Here is an
example that allows a person to gather points in a while loop, but
only for a fixed period of time. It relies on a few shared variables
to coordinate the activity of the main thread and the secondary
thread.
import threading
def playGame():
global score, inPlay # shared with main thread
while inPlay:
raw_input('Press return to score a point! ')
if inPlay:
score += 1
print 'Score =', score
score = 0
inPlay = True
numSeconds = 5 # I didn't have patience for the 30 second version
T = threading.Thread(target=playGame)
T.start()
T.join(numSeconds)
inPlay = False # signal to secondary thread that game is over
print
print 'After', numSeconds, 'seconds, you scored', score, 'points.'
+-----------------------------------------------
| Michael Goldwasser
| Associate Professor
| Dept. Mathematics and Computer Science
| Saint Louis University
| 220 North Grand Blvd.
| St. Louis, MO 63103-2007
_______________________________________________
Tutor maillist - [email protected]
http://mail.python.org/mailman/listinfo/tutor