完善的单例实现

前言

单例模式很常见,实现有很多地方值得优化,具体的优化历程,此处不多做赘述。 谨在此记录一个本人认为完善的,单例实现。具体实现思路使用Python实现。 其他语言也可以借鉴思路。

python代码举例

import time
import threading
class Singleton(object):
    _instance_lock = threading.Lock()

    def __init__(self):
        time.sleep(1)

    @classmethod
    def instance(cls, *args, **kwargs):
        if not hasattr(Singleton, "_instance"):
            with Singleton._instance_lock:
                if not hasattr(Singleton, "_instance"):
                    Singleton._instance = Singleton(*args, **kwargs)
        return Singleton._instance

版权声明:除特别注明外,本站所有文章均为王晨曦个人站点原创

转载请注明:出处来自王晨曦个人站点 » 完善的单例实现

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

  1. miowzkmoqp 说道:

    出发地 [url=http://www.gym8w8mq5og43p1pw5xin217f569o127s.org/]umiowzkmoqp[/url] amiowzkmoqp miowzkmoqp http://www.gym8w8mq5og43p1pw5xin217f569o127s.org/