Python 非同步操作

2021-09-14 06:43:29 字數 913 閱讀 8278

依賴的包:

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實現自己的非同步IO等非同步操作

首先引用下廖雪峰老師 上的這部分介紹 協程,又稱微執行緒,纖程。英文名coroutine。協程的概念很早就提出來了,但直到最近幾年才在某些語言 如lua 中得到廣泛應用。子程式,或者稱為函式,在所有語言中都是層級呼叫,比如a呼叫b,b在執行過程中又呼叫了c,c執行完畢返回,b執行完畢返回,最後是a執...

8 非同步操作

對於遊戲開發而言,經常使用到非同步相關操作,因此在使用moduleframework之前應該提供乙個非同步操作的類。以後相關的非同步操作均繼承這個類 asyncoperation 先貼出 ifndef async operation h define async operation h includ...

android非同步操作

1 要實現非同步操作就要用到android提供乙個asynctask類,這個類是乙個泛型。下面附上我的 我直接在 中說明 package com.example.async2 import android.os.asynctask import android.view.view import an...