阿里云消息队列python_41. Python Queue 多进程的消息队列 PIPE
消息隊列:
消息隊列是在消息傳輸過程中保存消息的容器。
消息隊列最經典的用法就是消費者和生產者之間通過消息管道來傳遞消息,消費者和生產生是不通的進程。生產者往管道中寫消息,消費者從管道中讀消息。
相當于水管,有一個入口和出口,水從入口流入出口流出,這就是一個消息隊列
線程或進程往隊列里面添加數據,出口從隊列里面讀數據
左側多線程往入口處添加完數據,任務就結束了;右側只要依次從水管里取數據就行了。
異步完成的任務
比如京東下單,下單后付完錢,相當于把消息堆在了水管里,后臺會有線程去接收這個單的消息,然后去庫房,發貨,走物流,直到接收貨物并簽收完,點擊完成,整個流程才走完。
客戶交完錢后,丟了個消息在這個隊列中,會給客戶返回一個結果,告知你已經買了這個商品;而后面接收訂單消息,發貨,物流都是后面的"進程"或"線程"干的事情。
所以,一般在異步處理問題時候,都會用到消息隊列處理的這種思想。
使用multiprocessing里面的Queue來實現消息隊列。
語法:
舉例:
返回結果:
PIPE:
多進程里面有個pipe的方法來實現消息隊列:
1. Pipe 方法返回(conn1, conn2)代表一個管道的兩端。PIPE方法有個deplex參數,如果deplex參數為True(默認值),那么這個管道是全雙工模式,也就是說conn1和conn2均可收發。duplex為False,conn1只負責接收消息,conn2負責發送消息。
2.send 和recv方法分別是發送和接受消息的方法。close方法表示關閉管道,當消息接收結束以后,關閉管道。
返回結果(逐行打印):
本文轉自 聽丶飛鳥說 51CTO博客,原文鏈接:http://blog.51cto.com/286577399/2051155
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的阿里云消息队列python_41. Python Queue 多进程的消息队列 PIPE的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天锐绿盾解密_天锐绿盾携手衡阳规划设计院
- 下一篇: python打架动态图_20个GIF动图