multithreading - 多线程环境中的单例

标签 multithreading language-agnostic synchronization singleton

当使用单例时,如果类有实例字段,当多个线程可能使用单例时,您是否应该小心? (并且字段是可变的,它们的值可以更改)

我没有尝试过,但从理论上讲,答案似乎是肯定的,您需要同步(或跳过单例)

最佳答案

当您从多个线程(或进程)访问对象(或相同的可变数据)时,您将需要某种同步。无论是单例还是任何其他“非单例”对象都没有区别。

还有一个问题,在单例的情况下是单例的创建,如果这是第一次使用时创建的,那么第一次可能会同时用于不同的线程,因此您需要同步单例创建也是如此。

关于multithreading - 多线程环境中的单例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5633387/

相关文章:

windows - 如何 : Inform application that database table row is updated?

java - AdvertisingIdClient getAdvertisingIdInfo 被主线程阻塞

java - 同步之前更新内存?

multithreading - 将堆栈数据传入和传出闭包

.net - .NET 2.0 是否有一个精简的读/写锁?

compiler-construction - 学习编写编译器

language-agnostic - 将成就添加到企业级软件的技术

language-agnostic - 计算非对称字节

javascript - Ember 与服务同步循环

c++ - Qt 如何在连接到其 clicked() 信号的插槽运行时使按钮响应?