您的位置:首页 > 编程语言 > Python开发

python 多线程示例

2018-03-01 14:50 155 查看

本文示例描述了两种多线程的方式

一种是直接使用threading.Thread(target=func, args=(n,0)

一种是继承threading.Thread,实现run成员方法

import threading
import time

def sum(n):
sum = 0
for i in range(1, n+1):
time.sleep(0.001)
sum += i
return sum

print("single thread".center(40, "#"))
s = time.time()
sum(1000)
sum(1000)
sum(1000)
interval = time.time() - s
print("single time interval: {}".format(interval))

print("multi thread".center(40, "#"))

# method 1
n = [1000, 1000, 1000]
mythread = []
s = time.time()
for i in range(len(n)):
t = threading.Thread(target=sum, args=(n[i],))
mythread.append(t)
for t in mythread:
t.start()

for t in mythread:
t.join()

interval = time.time() - s
print("multi 1 time interval: {}".format(interval))

s = time.time()
class Mythread(threading.Thread):

def __init__(self, func, args):
super(Mythread,self).__init__()
self.func = func
self.args = args

def run(self):
self.func(self.args)

mythread1 = []
#mythread.clear()
for i in range(len(n)):
mythread1.append(Mythread(sum, n[i]))
for i in range(len(n)):
mythread1[i].start()
for i in range(len(n)):
mythread1[i].join()

interval = time.time() - s
print("multi 2 time interval: {}".format(interval))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 多线程