我想知道如何在 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/