thrift异步调用

本文主要探讨Thrift的异步调用,包括客户端和服务端的异步实现。客户端可以通过send和recv两个接口实现异步调用,服务端利用TNonblockingServer结合libevent实现高并发的异步处理。Thrift的异步客户端还可以通过cob_style属性生成AsynClient类,利用回调函数进行异步操作。
摘要由CSDN通过智能技术生成

关于异步,我找了很多资料,java方面的比较多,可c的少之又少,很多就是简单提一下,也么说怎么用,最后终于还是自己研究出来了

异步分为服务端异步与客户端异步两部分,理论上他们两者是无关的,不论服务端同步与否,客服端都可以做成异步的。

客户端异步

客户端异步比较简单,服务端可以使用任何server,TThreadPoolServer或TNonblockingServer等随意,客户端不调用自动生成的函数原型,
改为分别调用分拆开来的send与recv两个即可,例如下面代码:

//函数名为invoke,函数原型为:
string invoke(1:WS_OP_TYPE type, 2:string msg);
//同步调用方式代码为(retstr为返回字符串,另外两个为传入参数):
client.invoke(retstr, WS_OP_TYPE::WS_OP_STORE_DEVICE_ACTION, msgstr);
//异步调用方式代码为:
client.send_invoke(WS_OP_TYPE::WS_OP_STORE_DEVICE_ACTION, msgstr);
client.send_invoke(WS_OP_TYPE::WS_OP_STORE_DEVICE_ACTION, msgstr1);
client.recv_invoke(retstr);
client.recv_invoke(retstr1);
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值