【发布时间】:2016-09-14 18:20:24
【问题描述】:
我正在做一个关于使用 AWS-cpp-sdk 的 POC 为此,我编写了一个简单的程序来将消息发送到 SQS 队列。
我正在使用 SendMessageAsync 方法发送如下消息。
sqsClient->SendMessageAsync(sendMessageRequest, &sendMessageCallBack);
我的程序崩溃了,因为我的程序在异步方法返回之前退出并且Aws::ShutdownAPI(options); 终止了由异步方法调用创建的线程。
我发现适用于 JAVA 的 AWS-sdk 正是针对这种情况提出了以下建议。 `
/**
* Shuts down the client, releasing all managed resources. This includes
* forcibly terminating all pending asynchronous service calls. Clients who
* wish to give pending asynchronous service calls time to complete should
* call getExecutorService().shutdown() prior to calling this method.
*/
@Override
public void shutdown() {
super.shutdown();
executorService.shutdownNow();
}`
我无法在 AWS cpp SDK 中找到等效的东西。 有人可以建议解决此问题的最佳方法吗?
【问题讨论】:
标签: c++ multithreading amazon-web-services asynchronous