I tried it but i got a bad segmentation fault!!
Is really a good threading implementation?
2006/2/2, Josiah Carlson <[EMAIL PROTECTED]
>:
My response is at the end.
Sbaush < [EMAIL PROTECTED]> wrote:
> Hi all.
> I've a problem with thread in python.
> My applications has a GUI that has some button.
> I've a MVC-like architecture.
> If i click on a button there is this effect:
>
> view.button_1_delete.Bind(EVT_BUTTON,self.OnDelete)
> view.button_1_list.Bind(EVT_BUTTON,self.OnList)
>
> def OnDelete(self, evt):
> self.presenter.updateModel("delete")
> def OnList(self, evt):
> self.presenter.updateModel("list")
>
> Probably you image that the boss of this program is updateModel function.
> this function has this code:
>
> def updateModel(self,Type):
> iptType=Type
> self.readGUI(iptType) # This function takes the request info from
> GUI
> packet=self.ipt_writeXML(iptType) # Put info in XML string
> self.sender.send(packet) #Send the XML string
> (xmlresponse,hostfrom)=self.receiver.receive() # Receive a XML
> string response from agent and the IP of agent
> self.iptResponse.run (xmlresponse,hostfrom) # view response in a
> separate view.
>
> Now it works great, but there is a big problem: my app wait for response
> before allow user to do another request.
> I thought that with threads it could works perfectly.
> I tried to apply threads but without any good result.
> Have you idea how can i do it and how can i apply thread to it?
import wx
import wx.lib.newevent
import threading
ResponseEvent, EVT_RESPONSE = wx.lib.newevent.NewEvent()
...
def __init__(self, ...):
...
self.Bind(EVT_RESPONSE, self.GotResponse, self)
...
def _updateModel(self, Type):
iptType=Type
self.readGUI(iptType)
packet=self.ipt_writeXML(iptType)
self.sender.send(packet)
(xmlresponse,hostfrom)=self.receiver.receive()
wx.PostEvent(self,
ResponseEvent(xml=xmlresponse,
host=hostfrom))
def updateModel(self, Type):
threading.Thread(target=self._updateModel,
args=(Type,)).start()
def GotResponse(self, evt):
self.iptResponse.run(evt.xml, xml.host)
...
- Josiah
--
Sbaush
-- http://mail.python.org/mailman/listinfo/python-list