我在多个地方读到 Boost.Signals 不是线程安全的,但我没有找到更多关于它的详细信息。这个简单的引用并没有说太多。现在大多数应用程序都有线程——即使它们尝试使用单线程,它们的一些库也可能使用线程(例如 libsdl)。
我猜该实现没有其他线程不访问该插槽的问题。所以从这个意义上说,它至少是线程安全的。
但究竟什么行得通,什么行不通?只要我不同时访问它,从多个线程中使用它会起作用吗?即,如果我在插槽周围建立自己的互斥锁?
或者我是否被迫仅在我创建它的那个线程中使用该插槽?或者我第一次使用它的地方?