Python多线程类似于同时执行多个不同程序,但其执行过程中和进程还是有区别的,每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口,但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
Python多线程优点
1. 使用线程可以把占据长时间的程序中的任务放到后台去处理;
2. 用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度;
3. 程序的运行速度可能加快;
4. 在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。
Python多线程使用方法
Python中使用线程有两种方式,分别是函数或者用类来包装线程对象。
用函数来包装线程对象的方式
用函数来包装线程对象的方式是调用thread模块中的start_new_thread()函数来产生新线程,线程的结束一般依靠线程函数的自然结束,也可以在线程函数中调用thread.exit()以达到退出线程的目的。具体语法如下:
thread.start_new_thread ( function, args[, kwargs] )
参数说明:
function - 线程函数;
args - 传递给线程函数的参数,他必须是个tuple类型;
kwargs - 可选参数。
用类来包装线程对象的方法
除了调用thread模块来产生新线程外,还可以采用Thread类来处理线程,Thread类提供的方法有:
run(): 用以表示线程活动的方法;
start():启动线程活动;
join([time]): 等待至线程中止。这阻塞调用线程直至线程的join() 方法被调用中止-正常退出或者抛出未处理的异常-或者是可选的超时发生;
isAlive(): 返回线程是否活动的;
getName(): 返回线程名;
setName(): 设置线程名。
除了使用以上两种方法外,还可以使用Threading模块创建线程,直接从threading.Thread继承,然后重写__init__方法和run方法,有兴趣的可以进一步了解具体用法!
最后
如果对Python感兴趣的话,可以试试我的学习方法以及相关的学习资料
对于0基础小白入门:
如果你是零基础小白,想快速入门Python是可以考虑培训的。
一方面是学习时间相对较短,学习内容更全面更集中。
Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
三、精品Python学习书籍
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、Python练习题
检查学习结果。
七、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
大家拿到脑图后,根据脑图对应的学习路线,做好学习计划制定。根据学习计划的路线来逐步学习,正常情况下2个月以内,再结合文章中资料,就能够很好地掌握Python并实现一些实践功能。