python - 实现单例类和(b)锁定问题?

标签 python locking singleton blocking

我想知道如何在 http://code.activestate.com/recipes/52558-the-singleton-pattern-implemented-with-python/ 之后实现一个单例类但想知道任何 (b) 锁定问题。当达到一定数量的缓存元素或用户完成特定的执行调用时,我的代码假设缓存 SQL 语句并使用 cursor.executemany(SQL, list-of-params) 执行所有缓存的语句。实现单例本应使在应用程序范围内缓存语句成为可能,但我恐怕会遇到 (b) 锁定问题。

有什么想法吗?

最佳答案

通过避免惰性初始化,阻塞问题就会消失。在初始化数据库连接的模块中,导入包含单例的模块,然后立即创建未存储在变量中的单例实例。

#Do Database Initialization
import MySingleton
MySingleton()
#Allow threads to be created

关于python - 实现单例类和(b)锁定问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5126888/

相关文章:

java - Mockito - 与模拟零交互 - Singleton

python - 如何在 python 数据表中查找和标记重复项

python - Django 相当于 Rails 的 5 分钟博客演示

android - 屏幕锁定时如何显示Activity?

objective-c - 从 swift 到 Objective-C 单例的参数

c# - 抽象类单例 C#

python - 迭代稀疏矩阵并连接每行的数据和索引

python - 在 Python 升级后升级 Mountain Lion 上的设置工具

c++:互斥、守卫和函数调用

c# - 在阻塞的 UI 线程中处理 Windows 消息?