久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

c++ - 如何在python的阻塞的函數(shù)中獲取變量值

瀏覽:161日期:2022-10-11 11:57:24

問題描述

目前是使用C++嵌入式的python函數(shù)python函數(shù)是阻塞式的接收服務(wù)器消息直到退出監(jiān)聽才會(huì)有返回值監(jiān)聽中收到消息會(huì)調(diào)用python的一個(gè)回調(diào)函數(shù),可以獲取到收到的消息所以要怎么樣來返回消息給C++

EDIT:代碼如下callback打印可以打印正確數(shù)據(jù),問題是這里用pika庫寫的rabbitMQ 的client就是為了不用rabbitMQ的C庫現(xiàn)在有一種考慮就是再用C寫一個(gè)python可以調(diào)的module然后在回調(diào)函數(shù)里面調(diào),就是感覺有點(diǎn)丑陋。

#!/usr/bin/env pythonimport pikaimport sysmessage = ''def callback(ch, method, properties, body): message = body print(method.routing_key) return message def consume(): connection = pika.BlockingConnection(pika.ConnectionParameters(host=’localhost’)) channel = connection.channel() result = channel.queue_declare(exclusive=True) queue_name = result.method.queue channel.queue_bind(exchange=’normalEx’, routing_key=’remote’, queue=queue_name) print(’ [*] Waiting for logs. To exit press CTRL+C’) channel.basic_consume(callback, queue=queue_name, no_ack=True) channel.start_consuming()

問題解答

回答1:

處于堵塞的函數(shù), 都需要等到收到數(shù)據(jù)或者等待超時(shí)才能返回的, 如果你想要快點(diǎn)返回, 就采用不堵塞的方式咯,只不過這樣會(huì)比較蛋疼

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 新沂市| 永善县| 临清市| 洛阳市| 磐石市| 萨嘎县| 文昌市| 双辽市| 维西| 乐清市| 沙湾县| 合江县| 古浪县| 城步| 平遥县| 田东县| 大荔县| 黄山市| 吴堡县| 浙江省| 新和县| 浮梁县| 阿拉尔市| 黄山市| 囊谦县| 东乌珠穆沁旗| 那曲县| 信丰县| 晋宁县| 昭苏县| 兰西县| 平舆县| 思南县| 邻水| 长武县| 隆子县| 新化县| 射阳县| 南皮县| 崇州市| 汕尾市|