首页 > 科技 >

python的线程Thread

2019-10-04 04:33:37 暂无 阅读:1154 评论:0

1、Thread:线程的意思,Process代表历程,历程相当于一个法式义务,历程就相当于法式义务里的一个功能。例如QQ是一个历程,QQ里的发新闻就相当于是一个线程。

2、每个线程都有一组CPU寄放器,也就是线程的上下文,该上下文回响线程前次运行时CPU寄放器的状况。

3、线程的状况有运行,睡眠,竣事。睡眠相当于线程临时被弃捐了,退让给其他线程执行。4、线程是内置模块,必需先import threading。

示例代码如下:from multiprocessing import Process #导入线程模块

import threading #导入历程模块

from time import sleep #经由time模块导入sleep函数

from multiprocessing import Queue #导入队列模块

def download(q):

images = ["zhagnsan.jpg", "李思.jpg", "wangwu.jpg"] # 设置图片列表images

for image in images: # 遍历图片列表images里的image

print("正鄙人载:", image) # 打印已遍历的image

sleep(0.2)

print("下载成功")

q.put(image) #q为队列,加载图片到队列q

def getfile(q): #界说获取图片文件getfile,q为参数

while True:

try:

file=q.get(image) #界说q的获取图片,并赋值给file

print("{}留存成功".format(file)) #打印留存成功

except:

print("悉数留存完毕") #打印悉数留存完毕

break #退出while轮回

if __name__ == '__main__': #相当于本py文件被引用时,下面的代码不会主动被执行

q=Queue(5) #建立队列q

t1=threading.Thread(target=download,name="下载图片",args=(q,)) #界说线程t1为download,线程名称为下载图片,参数为序列q

t1.start() #运行线程t1

t1.join() # 守候历程池中的所有历程执行完毕

t2=threading.Thread(target=getfile,name="留存图片",args=(q,)) #界说线程t1为getfile,线程名称为留存图片,参数为序列q

t2.start() #运行线程t2

t2.join() # 守候历程池中的所有历程执行完毕

运行究竟如下:

正鄙人载: zhagnsan.jpg

下载成功

正鄙人载: 李思.jpg

下载成功

正鄙人载: wangwu.jpg

下载成功

悉数留存完毕

图片示例如下:

python的线程Thread

相关文章