Python RuntimeError: thread.__init__() not called解决方法

yipeiwu_com6年前Python基础

在写一个多线程类的时候调用报错
RuntimeError: thread.__init__() not called

复制代码 代码如下:

class NotifyTread(threading.Thread): 
    def __init__(self, params): 
        threading.Thread.__init__(self)  #here。。。。。。 
        self.params = params 
     
    def run(self): 
        print "start notify............" 
        time.sleep(10) 
        print notify_tran(self.params) 
        print "end notify.............." 

在init中要先初始化Thread,然后在给参数赋值,就能解决了。
也就是不能缺少
threading.Thread.__init__(self)
这是一个使用的注意地方。

相关文章

Django 如何获取前端发送的头文件详解(推荐)

Django 如何获取前端发送的头文件详解(推荐)

Django里面,我们知道可以在函数里面里面通过参数获取前端发来的数据。 比如可以通过request获取各种form的值啊,cookie啊等等。 def index(reqeust)...

如何通过雪花算法用Python实现一个简单的发号器

如何通过雪花算法用Python实现一个简单的发号器

实现一个简单的发号器 根据snowflake算法的原理实现一个简单的发号器,产生不重复、自增的id。 1.snowflake算法的简单描述 这里的snowflake算法是用二进制的...

详解Python中的序列化与反序列化的使用

学习过marshal模块用于序列化和反序列化,但marshal的功能比较薄弱,只支持部分内置数据类型的序列化/反序列化,对于用户自定义的类型就无能为力,同时marshal不支持自引用(递...

python中dict使用方法详解

dict的特性 dict是python中的一个可变的数据类型,用{}表示,dict的key必须是不可变的数据类型,而value的数据类型可以任意。 格式:{key:value,key...

使用Python脚本在Linux下实现部分Bash Shell的教程

对于Linux用户来说,命令行的名声相当的高。不像其他操作系统,命令行是一个可怕的命题,但是对于Linux社区中那些经验丰富的大牛,命令行却是最值得推荐鼓励使用的。通常,命令行对比图形用...