执行说明
1、多线程执行是GIL锁的存在,实际执行是单线程。
2、一次只执行一个线程,切换其他线程,其中切换时间很短,看起来像多线程执行。
实例
继承Thread类创建自定义线程类,然后创建线程对象并启动线程。
fromrandomimportrandint fromthreadingimportThread fromtimeimporttime,sleep classDownloadTask(Thread): def__init__(self,filename): super().__init__() self._filename=filename defrun(self): print('开始下载%s...'%self._filename) time_to_download=randint(5,10) sleep(time_to_download) print('%s下载完成!耗费%d秒'%(self._filename,time_to_download)) defmain(): 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电脑。