python多线程的一个失误

阅读更多

普通的python 类声明:

 

class ConnectDBChecker(object):

 多线程类声明:

 

class MultiConnectDBChecker(Thread):

#需要提前 from threading import Thread

 

项目中开发多线程时,误将Thread写为object,各种报错,代码复制粘贴时疏忽。

 

本人经历如下,首先报错:

 

 File "multiConnectCheck_T.py", line 16, in __init__
    Thread.__init__(self)
TypeError: unbound method __init__() must be called with Thread instance as first argument (got MultiConnectDBChecker instance instead)

 

 

网上查资料,会让你用

 

super(MultiConnectDBChecker,self).__init__()

 代替

 

Thread.__init__(self)

 但你替换后,又会报以下错:

 

 File "multiConnectCheck_T.py", line 43, in bootStrap
    worker.start()
AttributeError: 'MultiConnectDBChecker' object has no attribute 'start'

 

你可能感兴趣的:(python多线程的一个失误)