什么是线程安全的方式来突破POCO::HTTPSClientSession::receiveResponse

What is a thread-safe way to break out of a POCO::HTTPSClientSession::receiveResponse?

本文关键字:POCO 突破 HTTPSClientSession receiveResponse 方式 线程 安全 什么      更新时间:2023-10-16

receiveResponse调用是阻塞的,当我在一个单独的线程上运行代码时,我希望能够随时干净地停止线程。文档显示abort()可能是我所需要的,但我找不到任何信息来表明它是否是线程安全的。谢谢,

HTTPSClientSession::abort()在套接字上调用shutdown();应该会导致receiveResponse()返回(更正:抛出)。

HTTP(S)ClientSession没有内部锁定,但这里的线程安全并不是真正与Poco相关的问题。如果在recv()上阻止的套接字上为您的平台/堆栈调用shutdown()是安全的,那么一切都很好。