wxWidgets/wxPython/tests/alternateThread.py
Robin Dunn 6e18ca6cf4 Added wxWakeUpMainThread, wxMutexGuiEnter, wxMutexGuiLeave,
wxMutexGuiLocker and wxThread_IsMain to assist with dealing with GUI
access from non-GUI threads.

wxPyOnDemandOutputWindow is now thread safe if non-GUI threads use
print, sys.stdout.write, etc.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9590 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-03-26 22:17:24 +00:00

53 lines
875 B
Python

from time import sleep
from threading import Thread
def test_a_window():
print "starting window thread"
from wxPython.wx import * # <-- the wxWin DLL is not loaded until here
app = wxPySimpleApp(1)
frame = wxFrame(None, -1, "Hello", size=(400,200))
frame.Show(true)
EVT_SIZE(frame, OnFrameSize)
app.MainLoop()
print "finishing window thread"
def OnFrameSize(evt):
print evt.GetSize()
keep_going = 1
def counter():
print "starting counter thread"
count = 0
while keep_going:
sleep(1)
count += 1
print count
print "finishing counter thread"
def main():
print "main startup"
ct = Thread(target=counter)
wt = Thread(target=test_a_window)
ct.start()
wt.start()
wt.join()
global keep_going
keep_going = 0
ct.join()
print "main finished"
main()