多线程说白了是:指的是一个APP中的不同的任务,可以实现APP的多任务处理
多进程说白了是:指的不同的APP,每个APP互不影响
以上概念可以这样来理解
尽管Python完全支持多线程编程, 但是解释器的C语言实现部分在完全并行执行时并不是线程安全的。 实际上,解释器被一个全局解释器锁保护着,它确保任何时候都只有一个Python线程执行。 GIL最大的问题就是Python的多线程程序并不能利用多核CPU的优势 (比如一个使用了多个线程的计算密集型程序只会在一个单CPU上面运行)。
由于GIL的存在,python的多线程并不能使用多核的CPU,同时并行的处理任务,因此python提供了多进程任务(下期分享)
thread & ThreadingPython通过两个标准库thread和threading提供对线程的支持。thread提供了低级别的、原始的线程以及简单的锁。
threading 模块提供的其他方法:
threading.currentThread(): 返回当前的线程变量。threading.enumerate(): 返回一个包含正在运行的线程的list。正在运行指线程启动后、结束前,不包括启动前和终止后的线程。threading.activeCount(): 返回正在运行的线程数量,与len(threading.enumerate())有相同的结果。Thread类提供了以下方法:
run(): 用以表示线程活动的方法。start():启动线程活动。join([time]): 等待至线程中止。这阻塞调用线程直至线程的join() 方法被调用中止-正常退出或者抛出未处理的异常-或者是可选的超时发生。isAlive(): 返回线程是否活动的。getName(): 返回线程名。setName(): 设置线程名。若多个线程时,需要加入join函数来控制线程的执行,否则若2个线程的任务程度不同,会导致不同的执行结果,也许会不是我们的执行结果,
微&信搜索:启示AI科技
可体验不同的AI工具
本站所发布的文字与图片素材为非商业目的改编或整理,版权归原作者所有,如侵权或涉及违法,请联系我们删除
热门信息
阅读 ()
1 注册微信号怎么注册第二个阅读 ()
2 怎么把照片变成卡通头像阅读 ()
3 手机越充越少电怎么解决