我正从我的代码中调用thrift
的多个异步调用。我想等一下
在继续我的下一阶段之前完成所有这些工作。
for (...) {
TNonblockingTransport transport = new TNonblockingSocket(host, port);
TAsyncClientManager clientManager = new TAsyncClientManager();
TProtocolFactory protocolFactory = new TBinaryProtocol.Factory();
AsyncClient c = new AsyncClient(protocolFactory, clientManager, transport);
c.function(params, callback);
}
// I would like to wait for all the calls to be complete here.
我可以在回调中进行倒计时,例如wait / notify,并完成此操作。但thrift
系统是否允许我等待异步函数调用,最好是超时?
我在TAsyncClientManager
或AsyncClient
中没有看到任何内容。请帮忙。
答案 0 :(得分:0)
鉴于无法做到这一点,我使用了sync api客户端并管理启动并等待使用执行器和launchAll。我将这作为我的答案让人们有另一种选择。