wxPython
While writing of the programs in Python, using a graphic interface here, it is sometimes necessary to start different long researches of any data information, in most cases an interface will be blocked and user will see the program to be frozen. In order to avoid it, we need to start our task in a parallel stream or process. In this article we will consider about on how to do it wxpython by the module of Threading. There are three methods for work with streams in wxpython. In order to avoid this issue, it is highly recommended to use methods: wx.PostEvent, wx.CallAfter and wx.CallLater. All additional information on these methods you can always get in our original essays or other kinds of papers.
As Robin Dunn (creator of wxpython) reported wx.CallAfter wx uses.PostEvent for sending of event to the object of appendix. An appendix will have developer of this event and will react on him according to the appropriate algorithm. Robin Dunn also marked that Global Interpreter Lock (GIL) would shut out simultaneous implementation more of one stream, that can limit the amount of in-use kernels of processor. He also said, that wxpython was freed from GIL causing API of function of library of wx, therefore other streams can work simultaneously. In other words a fast-acting can change at the use of streams on multy kernelled machines. A discussion of this question can be interesting and not clear enough for readers.
