更新后的代码如下:
- import logging
- import threading
-
- class MyThread(threading.Thread):
- def __init__(self, number, logger):
- threading.Thread.__init__(self)
- self.number = number
- self.logger = logger
-
- def run(self):
- """
- 运行线程
- """
- logger.debug('Calling doubler')
- doubler(self.number, self.logger)
-
- def get_logger:
- logger = logging.getLogger("threading_example")
- logger.setLevel(logging.DEBUG)
-
- fh = logging.FileHandler("threading_class.log")
- fmt = '%(asctime)s - %(threadName)s - %(levelname)s - %(message)s'
- formatter = logging.Formatter(fmt)
- fh.setFormatter(formatter)
-
- logger.addHandler(fh)
- return logger
-
- def doubler(number, logger):
- """
- 可以被线程使用的一个函数
- """
- logger.debug('doubler function executing')
- result = number * 2
- logger.debug('doubler function ended with: {}'.format(
- result))
-
- if __name__ == '__main__':
- logger = get_logger
- thread_names = ['Mike', 'George', 'Wanda', 'Dingbat', 'Nina']
- for i in range(5):
- thread = MyThread(i, logger)
- thread.setName(thread_names[i])
- thread.start
(编辑:西安站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|