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
This commit is contained in:
Robin Dunn
2001-03-26 22:17:24 +00:00
parent c1e820a40e
commit 6e18ca6cf4
8 changed files with 297 additions and 49 deletions

View File

@@ -0,0 +1,52 @@
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()