[python] 多线程编程

来源:互联网 发布:网络用语qq爱是什么 编辑:程序博客网 时间:2024/05/02 04:33

方法一:使用thread模块

首先看一下代码:

import threadimport timedef print_time(threadName,delay):count=0while count<5:time.sleep(delay)count += 1print "%s: %s" % (threadName,time.ctime(time.time()))try:thread.start_new_thread(print_time,("Thread-1",2))thread.start_new_thread(print_time,("Thread-2",4))except:print "Error:unable to start thread"while 1:pass
运行的结果为:


代码中的

while 1:pass
是很有必要的,因为如果删除了这段代码,程序会报出如下的错误

错误的产生原因是:

启动线程之后,需确保主线程等待所有子线程返回结果后再退出,如果主线程比子线程早结束,无论其子线程是否是后台线程,都将会中断,抛出这个异常。

方法二:使用Threading模块创建线程

使用Threading模块创建线程,直接从threading.Thread继承,然后重写_init_方法和run方法

# -*- coding: UTF-8 -*-import threadingimport timeexitFlag = 0class myThread (threading.Thread):#继承父类threading.Threaddef __init__(self, threadID, name, counter):threading.Thread.__init__(self)self.threadID = threadIDself.name = nameself.counter = counterdef run(self):#把要执行的代码写到run函数里,线程在创建后会直接运行run函数print "Starting " + self.nameprint_time(self.name,self.counter,5)print "Exiting" + self.namedef print_time(threadName,delay,counter):while counter:if exitFlag:thread.exit()time.sleep(delay)print "%s,%s" % (threadName,time.ctime(time.time()))counter -=1#创建新线程thread1 = myThread(1,"Thread-1",1)thread2 = myThread(2,"Thread-2",2)#开启线程thread1.start()thread2.start()print "Exiting Main Thread"

程序运行的结果

1:


2:


备注:两次运行的结果不同。

网上有两篇比较好的文章:

http://www.runoob.com/python/python-multithreading.html

http://www.aichengxu.com/view/34207

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 1岁宝宝经常便秘怎么办 两个月宝宝拉水怎么办 宝宝吃奶粉上火便秘怎么办 20多天的宝宝便秘怎么办 宝宝五十天消化不良不拉屎怎么办 一周七个月宝宝消化不良拉屎怎么办 孩子总是消化不良拉屎不成型怎么办 一岁宝宝长牙慢怎么办 一岁宝宝不喝水怎么办 七个月的宝宝咳嗽怎么办 怀孕七个月感冒了怎么办 苹果汁弄到白色衣服怎么办 宝宝大便干燥拉不出来怎么办 婴儿吃过青菜米粉呕吐怎么办 50天宝宝便秘5天怎么办 8个月婴幼儿便秘怎么办 1个月婴幼儿便秘怎么办 榨汁后的苹果渣怎么办 宝宝6个月后容易生病怎么办 婴儿头型睡偏了怎么办 6个月婴儿不吃奶怎么办 宝宝秋季腹泻反复发烧怎么办 纯甄过期一个月怎么办 四个月宝宝不吃奶瓶怎么办 四个月宝宝不吃奶粉怎么办 婴儿三四天不大便怎么办 婴儿几天不拉大便怎么办 新生儿6天不拉屎怎么办 孩子10天不大便怎么办 宝宝5天没拉屎怎么办 小孩4-5天不大便怎么办 三个月宝宝睡前哭闹厉害怎么办 新生儿抱着睡放下就醒怎么办 宝宝大运动发育迟缓怎么办 八个月宝宝不会爬怎么办 宝宝竖着抱早了怎么办 孕妇吃的水果少怎么办 6个月宝宝厌奶怎么办 5个月宝宝厌奶怎么办 11个月宝宝厌奶怎么办 母乳宝宝不喝奶粉怎么办