码迷,mamicode.com
首页 > 编程语言 > 详细

python3.4多线程初次尝试

时间:2015-04-28 09:55:48      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:

继承threading.Thread,并且创建7个线程,设置一个local的局部变量属性,并在线程的run函数中随机生成8个随机数,利用local属性存各自线程的随机数。

调用start函数,启动线程,如果调用join函数则变为串行,执行完第一个线程再执行第二个线程依次执行,最后执行主线程。

(注:python版本为3.4)

import threading
import time
import random

#继承threading.Thread,并重载run函数。

class jdThread(threading.Thread):
    def __init__(self,num):
        threading.Thread.__init__(self)
        self.num = num
        self.create_time = time.time()
        self.local = threading.local()
        #local具有全局访问权,主线程,子线程都能访问它,但是它的值却是各当前线程有关,
        #如果想在当前线程保存一个全局值,并且各自线程互不干扰,使用local类,实际它是一个字典
        
    def run(self):
        self.local = []
        time.sleep(1)
        print("线程",self.num,"被创建")

        for i in range(8):
            self.local.append(random.randrange(10))
        #显示线程的状态,和随机产生的10个数字
        print(threading.currentThread(),self.local)
        
        print(time.time()-self.create_time)

        print("线程",self.num,"结束")
        print("\n")
        

print ("主线程开始")
for item in range(7):
    t = jdThread(item)
    t.start()
    #join函数控制线程执行顺序,不要在start之前调用join函数
    #t.join()
    #isDaemon函数查看线程后台运行状态
    #print(t.isDaemon()) 
print ("主线程结束")


python3.4多线程初次尝试

标签:

原文地址:http://blog.csdn.net/djd1234567/article/details/45315775

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!