什么是线程安全的方式来突破POCO::HTTPSClientSession::receiveResponse
What is a thread-safe way to break out of a POCO::HTTPSClientSession::receiveResponse?
receiveResponse调用是阻塞的,当我在一个单独的线程上运行代码时,我希望能够随时干净地停止线程。文档显示abort()可能是我所需要的,但我找不到任何信息来表明它是否是线程安全的。谢谢,
HTTPSClientSession::abort()在套接字上调用shutdown();应该会导致receiveResponse()返回(更正:抛出)。
HTTP(S)ClientSession没有内部锁定,但这里的线程安全并不是真正与Poco相关的问题。如果在recv()上阻止的套接字上为您的平台/堆栈调用shutdown()是安全的,那么一切都很好。
相关文章:
- POCO::PostgreSQL:如何将std::vector支持添加到`Binder::bind`
- Poco FindMySql.cmake 无法找到 MySQL 源代码
- 像 POCO 这样的C++图书馆如何访问网络?
- Poco::Net::FTPClientSession 在 open() 方法上挂起 129 秒,如果 ftp 主机不存
- 使用 Poco::Zip 将文件附加到现有 zip 文件
- 无法使用 Poco 库正确克隆 JSON 数组C++
- Poco 库 PUT 方法未按预期工作,尽管主机、方法、内容类型设置正确
- POCO C++对象到 JSON 字符串序列化
- 错误:字段'dateOfBirth'的类型不完整'Poco::Data::Date'
- POCO C++加密/解密
- C++ POCO - 如何在不使用 run() 方法的情况下启动线程池上的线程?
- 使用 Poco::zip 添加新目录始终给出异常
- C++ Poco - 如何创建通知队列的向量?
- 如何使用 Poco::ZIP 压缩/解压缩 zip 文件
- C++ POCO - 如何美化 JSON?
- C++ Poco - 如何向特定线程发送通知/消息?
- 如何在 Poco 中将工作 HTTP 代码转换为 HTTPS
- 对于 poco 库来说,Boost_USE_STATIC_LIBS相当于什么?
- 试图突破字符串循环
- 什么是线程安全的方式来突破POCO::HTTPSClientSession::receiveResponse