title: asio, shared data, Active Object vs mutexes
body: <p>I want to understand what is true-asio way to use shared data?</p>
  <p>reading the <a href="https://www.boost.org/doc/libs/1_80_0/libs/asio/" rel="nofollow noreferrer">asio</a> and the <a href="https://www.boost.org/doc/libs/1_80_0/libs/beast/" rel="nofollow noreferrer">beast</a> examples, the only example of using shared data is <a href="https://www.boost.org/doc/libs/1_80_0/libs/beast/example/http/client/crawl/http_crawl.cpp" rel="nofollow noreferrer">http_crawl.cpp</a>. (perhaps I missed something)</p>
  <p>in that example the shared object is only used to collect statistics for sessions, that is the sessions do not read that object's data.</p>
  <p>as a result I have three questions:</p>
  <ol>
  <li>Is it implied that interaction with shared data in asio-style is an Active Object? i.e. should mutexes be avoided?</li>
  <li>whether the statement will be correct that for reading the shared data it is also necessary to use &quot;requests&quot; to Active Object, and also no mutexes?</li>
  <li>has anyone tried to evaluate the overhead of &quot;requests&quot; to Active Object, compared to using mutexes?</li>
  </ol>