1. 程式人生 > >boost::asio::ssl::stream執行緒安全問題

boost::asio::ssl::stream執行緒安全問題

   利用boost+Openssl支援一些安全協議連結時,要特別注意多執行緒的安全性。

   官方文件明確指出了boost::asio::ssl::stream不是執行緒安全的需要保證其同一個物件不可多執行緒同時呼叫

Thread Safety
Distinct objects: Safe.

Shared objects: Unsafe. The application must also ensure that all asynchronous operations are performed within the same implicit or explicit strand.

    Openssl在1.1.0版本後,就支援編譯預設開啟多執行緒支援,不過目前還是有遇到問題正在解決,在壓力測試的時候會出現ssl中反饋異常崩潰的問題。