python 異步通信
具體來(lái)說(shuō)使用如asyncio這樣的Python庫(kù)來(lái)實(shí)現(xiàn)異步編程。在這個(gè)庫(kù)中定義協(xié)程(coroutine)在事件循環(huán)中運(yùn)行它們。協(xié)程在等待IO操作(如網(wǎng)絡(luò)請(qǐng)求或文件讀寫(xiě))時(shí)掛起執(zhí)行,在IO操作完成后恢復(fù)執(zhí)行,實(shí)現(xiàn)了發(fā)處理多個(gè)任務(wù)。
對(duì)于寵物食品生產(chǎn),Python異步通信幫助優(yōu)化生產(chǎn)線(xiàn)控制通過(guò)Python控制機(jī)器人的動(dòng)作,機(jī)器人在完成個(gè)動(dòng)作后,可能等待段時(shí)間才能進(jìn)行下個(gè)動(dòng)作。這時(shí)就使用異步通信讓機(jī)器人在等待的時(shí)候去做其他事情,提高工作效率。
在律師事務(wù)所,Python異步通信用于處理大量的法律文檔從服務(wù)器上下載大量文件進(jìn)行分析,使用同步方式,可能會(huì)導(dǎo)致程序長(zhǎng)時(shí)間阻塞在網(wǎng)絡(luò)IO或者磁盤(pán)IO上。而使用異步通信在等待IO的做其他工作,提高工作效率。
在銀行領(lǐng)域,Python異步通信用于處理大量的交易請(qǐng)求處理大量的股票交易請(qǐng)求,每個(gè)請(qǐng)求都查詢(xún)數(shù)據(jù)庫(kù)和網(wǎng)絡(luò),使用同步方式,可能會(huì)導(dǎo)致程序長(zhǎng)時(shí)間阻塞在這些IO操作上。而使用異步通信在等待IO的處理其他的請(qǐng)求,大大提高系統(tǒng)的吞吐量。