文章详情页
python - 关于单例的线程安全问题
浏览:260日期:2022-07-25 18:05:33
问题描述
class Singleton(object): __instance = None def __new__(cls, *args, **kwargs):if not cls.__instance: cls.__instance = super(Singleton, cls).__new__(cls, *args, **kwargs)return cls.__instance if __name__ == ’__main__’: # 多线程中单例的使用 from threading import Thread def func():print(id(Singleton()))for index in range(10000): Thread(target=func).start()
上面试python中实现单例的一种方式,但是我们都知道这种实现方式不是线程安全的。上面代码中我自己写了测试代码,但是发现id输出都是一样的。这个就证明不了非线程安全的?我的问题是:如何写出可以证明这种实现不是线程安全的测试代码?
问题解答
回答1:本来单例模式就只能实例化1个对象,跟线程没有任何关系。即使是线程安全的,它也返回相同的id。
相关文章:
1. (python)关于如何做到按win+R再输入文件文件名就可以运行?2. python 中文乱码问题3. linux - 阿里云服务器上的mysql服务在客户端只能通过ssh证书连接后才能使用4. python - 图片爬虫时候遇到问题 urllib.request.urlretrieve 下载到指定文件夹不成功?5. python - 请问matplotlib.pyplot.save的路径如何更改6. mysql - 博客文章标签表结构设计问题7. python - pip install出现下面图中的报错 什么原因?8. 登录mysql-front出现以下错误9. 急急国王什么梗 我是急急急急急急国王梗内涵出处介绍10. 微博2输入框一些问题
排行榜

网公网安备