Python RuntimeError: thread.

   这篇文章主要介绍了Python RuntimeError: thread.__init__() not called解决方法,需要的朋友可以参考下

  在写一个多线程类的时候调用报错

  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)

  这是一个使用的注意地方。

时间: 2024-11-02 19:11:33

Python RuntimeError: thread.的相关文章

Python中多线程thread与threading的实现方法_python

学过Python的人应该都知道,Python是支持多线程的,并且是native的线程.本文主要是通过thread和threading这两个模块来实现多线程的. python的thread模块是比较底层的模块,python的threading模块是对thread做了一些包装的,可以更加方便的被使用. 这里需要提一下的是python对线程的支持还不够完善,不能利用多CPU,但是下个版本的python中已经考虑改进这点,让我们拭目以待吧. threading模块里面主要是对一些线程的操作对象化了,创建

Python中利用生成器实现的并发编程

  这篇文章主要介绍了简单介绍Python中利用生成器实现的并发编程,使用yield生成器函数进行多进程编程是Python学习进阶当中的重要知识,需要的朋友可以参考下 我们都知道并发(不是并行)编程目前有四种方式,多进程,多线程,异步,和协程. 多进程编程在python中有类似C的os.fork,当然还有更高层封装的multiprocessing标准库,在之前写过的python高可用程序设计方法中提供了类似nginx中master process和worker process间信号处理的方式,保

Python 与 Javascript 之比较

最近由于工作的需要开始开发一些Python的东西,由于之前一直在使用Javascript,所以会不自觉的使用一些Javascript的概念,语法什么的,经常掉到坑里.我觉得对于从Javascript转到Python,有必要总结一下它们之间的差异. 基本概念 Python和Javascript都是脚本语言,所以它们有很多共同的特性,都需要解释器来运行,都是动态类型,都支持自动内存管理,都可以调用eval()来执行脚本等等脚本语言所共有的特性. 然而它们也有很大的区别,Javascript这设计之初

【原创】Python 之快速性能优化(第二部分)

本文为翻译,原文地址:< Quick Python Performance Optimization: Part II >  This is the Part II of Quick Python Performance Optimizations. 本文是 Python 性能优化二两发的第二部分.  11. Use Map, Reduce and Filter instead of for loop where ever possible. 11. 尽可能使用 Map,Reduce 和 Fi

Python中的多线程

线程模块 Python 通过两个标准库 thread 和 threading 提供对线程的支持.Python 的 thread 模块是比较底层的模块,Python 的 threading 模块是对 thread 做了一些包装的,可以更加方便的被使用. thread 模块提供的其他方法: start_new_thread(function,args,kwargs=None):生一个新线程,在新线程中用指定参数和可选的 kwargs 调用 function 函数 allocate_lock():分配

详解Python中的多线程编程_python

一.简介        多线程编程技术可以实现代码并行性,优化处理能力,同时功能的更小划分可以使代码的可重用性更好.Python中threading和Queue模块可以用来实现多线程编程.二.详解 1.线程和进程       进程(有时被称为重量级进程)是程序的一次执行.每个进程都有自己的地址空间.内存.数据栈以及其它记录其运行轨迹的辅助数据.操作系统管理在其上运行的所有进程,并为这些进程公平地分配时间.进程也可以通过fork和spawn操作来完成其它的任务,不过各个进程有自己的内存空间.数据栈

Python多线程学习资料_python

一.Python中的线程使用: Python中使用线程有两种方式:函数或者用类来包装线程对象. 1. 函数式:调用thread模块中的start_new_thread()函数来产生新线程.如下例: 复制代码 代码如下: import time import thread def timer(no, interval): cnt = 0 while cnt<10: print 'Thread:(%d) Time:%s\n'%(no, time.ctime()) time.sleep(interva

Python性能优化经验之谈(翻译)

在微博上看到了一遍文章,然后就试着翻译了一下,有些地方看不懂,就直接贴原文了,还望能看懂的人指点一下. # 快速的Python性能优化 # 1.%timeit (per line) and %prun (cProfile) in ipython interactive shell. Profile your code while working on it, and try to find of where is the bottleneck. This is not contrary to t

Java多线程继承Thread类详解第1/2页_java

调用方法: /** * 点击量/月(年)Thread */ public void yearlyClickThread() { // 获取参数 String year = getPara("year"); // 统计数据集X List<String> xList = new ArrayList<String>(); xList.add("January"); xList.add("February"); xList.add