什么是打破POCO :: HTTPSClientSession :: receiveResponse的线程安全方法?

时间:2014-09-29 13:18:26

标签: c++ multithreading networking poco-libraries

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

1 个答案:

答案 0 :(得分:1)

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

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