python 多线程【例子】通俗易懂的对比

看来很多教程,千篇一律,没什么对比。直接上代码:
自认为通俗易懂的栗子

# 以 list 中添加元素举例

from random import random
from threading import Thread
import time

a, b=[], []
t1 = time.time()
for i in range(0, 10):
    time.sleep(1)  # 模拟处理时间
    a.append(i)  # 把添加到  a 的 list 中

print(a)  # 打印 list
print(time.time()-t1)  #打印处理时间

list a 打印 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
处理时间打印 10.00496530532837

# 以 list 中添加元素举例

from random import random
from threading import Thread
import time

a, b=[], []

# 自定义的函数,可以替换成其他任何函数
def task(threadName, number):
    
    time_sleep = random()+1    # 模拟处理时间, 时间长度不一致
    time.sleep(time_sleep)     # 模拟绘制帧
    b.append(number)
    print(threadName, time_sleep)


t2 = time.time()
t_list = []
for i in range(0, 10):
    t = Thread(target=task, args=("thread_"+str(i), i))
    t.start()
    t_list.append(t)

for tt in t_list:
    tt.join()

print(b)
print(time.time()-t2)

里面线程的打印就不放了
list b 打印 [7, 5, 9, 2, 1, 0, 4, 3, 6, 8]
处理时间打印 1.8993406295776367

通过对比,很明显多线程时间缩短,但是没有顺序。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容