多线程和全局互斥锁的并发访问

时间:2016-02-24 19:43:20

标签: multithreading openssl mutex

OpenSSL FAQ声明它可以在线程应用程序中使用:

  

1。 OpenSSL是否是线程安全的?

     

如果应用程序设置了线程回调函数,答案是肯定的。

此回调函数引用全局SSL锁定,因此如果您有2个ssl连接运行,则这两个连接都将使用此全局锁定。

然而常见问题仍在继续:

  

有局限性;例如,多个线程不能同时使用SSL连接。对大多数OpenSSL对象都是如此。

这表示每个SSL连接都需要一个额外的互斥锁。它是否正确?或者,我是否不需要为每个SSL连接添加额外的互斥锁?

1 个答案:

答案 0 :(得分:4)

这意味着如果您的连接由多个线程共享,您需要有一个互斥锁,以避免它们同时操作连接。

只要任何单个连接一次仅由一个线程使用(在大多数应用程序中是正常情况),您就不需要进一步锁定。