Python 异步操作

依赖的包:

from pubsub import pub
from threading import Thread

核心代码:

class ScrapeThread(Thread):
    def __init__(self, event):
        # 线程实例化时立即启动
        # Thread.__init__(self)
        super(ScrapeThread, self).__init__()
        self.event = event
        self.setDaemon(True)

    def run(self):
        # 线程执行的代码
        pub.sendMessage("do_something", msg=self.event)
def do_something(self, msg):    。。。。
    。。。。
    。。。。

调用部分:

调用之前别忘了 :pub.subscribe(self.do_something, "do_something")
def ready_go(self, event):
    # event.GetEventObject().Disable()
    ScrapeThread(event).start()

执行ready_go方法就可以了!

其实对于本地窗体级应用开发很多时候都会用到异步,因为从线程不能改动主线程申请的资源,所以必须用到消息泵机制:

在C#中有BeginInvoke机制,在Android开发中有handler,loop机制。和python中的pubsub其实是一个原理。

 

 

你可能感兴趣的:(Python,&,Scala)