diff --git a/README_zh_CN.md b/README_zh_CN.md index 2988193..b256d27 100644 --- a/README_zh_CN.md +++ b/README_zh_CN.md @@ -26,6 +26,7 @@ Boost Beast 没有一个开箱即用的 HTTP Server,微软 cpprest 的 API 设 * [POST 请求](#post-请求) * [下载文件](#下载文件) * [上传文件](#上传文件) + * [多线程调用](#多线程调用) * [服务端 API](#服务端-api) * [一个最小的服务器](#一个最小的服务器) * [URL 路由](#url-路由) @@ -210,7 +211,36 @@ auto r = session.Send(webcc::RequestBuilder{}. 注意,`Content-Length` 头部还是会设置为文件的真实大小,不同于 `Transfer-Encoding: chunked` 的分块数据形式。 -更多示例和用法,请参考 [examples](examples/) 目录。 +### 多线程调用 + +一个 `ClientSession` 对象同时只能给一个线程使用,不可以在多个线程间共享。 + +多线程调用示例: + +```cpp +void ThreadedClient() { + std::vector threads; + + for (int i = 0; i < 3; ++i) { + threads.emplace_back([]() { + webcc::ClientSession session; + + try { + auto r = session.Send(webcc::RequestBuilder{}. + Get("http://httpbin.org/get") + ()); + std::cout << r->data() << std::endl; + + } catch (const webcc::Error&) { + } + }); + } + + for (auto& t : threads) { + t.join(); + } +} +``` ## 服务端 API