【发布时间】:2016-10-13 09:04:31
【问题描述】:
关于这篇文章: Why do I need strand per connection when using boost::asio?
我关注的是关于异步调用的声明: "但是,多个线程并发调用是不安全的"
这个例子: http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/example/cpp11/chat/chat_client.cpp
如果我将 main 称为“线程 1”并将衍生线程 t 称为“线程 2”,那么似乎线程 1 正在调用 async_write(假设没有 write_in_progress),而线程 2 正在调用 async_read。我错过了什么?
【问题讨论】:
-
可能 io_service 线程 (t) 不受此规则约束。
标签: c++ multithreading boost boost-asio