
执行说明
1、多线程执行是GIL锁的存在,实际执行是单线程。
2、一次只执行一个线程,切换其他线程执行,其中切换时间非常短,看起来像多线程执行。
实例
继承Thread类的方式来创建自定义的线程类,然后再创建线程对象并启动线程。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | from random import randint
from threading import Thread
from time import time, sleep
class DownloadTask(Thread):
def __init__(self, filename):
super ().__init__()
self._filename = filename
def run(self):
print( '开始下载%s...' % self._filename)
time_to_download = randint(5,10)
sleep(time_to_download)
print( '%s下载完成!耗费了%d秒' %(self._filename, time_to_download))
def main():
start = time()
t1 = DownloadTask( 'python入门' )
t2 = DownloadTask( 'av.avi' )
t1.start()
t2.start()
t1.join()
t2.join()
end = time()
print( '共耗费了%.2f秒' %(end - start))
if __name__ == '__main__' :
main()
|
以上就是python多线程的执行分析,希望对大家有所帮助。更多Python学习指路:python基础教程
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。