python: 一个线程安全的单例类
称之为单例类, 其实也是照搬Java/C++等强类型语言的概念,在python里实现起来总有怪怪的味道.关乎设计模式,这里有往篇文章,有时间研读一下:
Design Patterns in Python
#! /usr/bin/env python# -*- coding: utf-8 -*-"""$filename : Logger.py$Author : idup2x@gmail.com"""import threadingimport timefrom Configer import Configerclass Logger(object): __mutex = threading.Lock() __wf = None def __init__(): pass #@staticmethod #def __open_file(): #if not Logger.__wf: #Logger.__wf = open(Configer.log_file, "w+") #@staticmethod #def close(): #if Logger.__wf: #Logger.__wf.close() @staticmethod def log(msg, flag=0): Logger.__mutex.acquire() _cur_time = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())) try: print "%s " % _cur_time, print msg except Exception, e: print "%s " % _cur_time, print "Logger's Exception-> ", print e Logger.__mutex.release()
页:
[1]