Young87

当前位置:首页 >个人收藏

新手入门Python核心笔记五:多线程、图形用户界面、web、数据库、扩展Python

目录

 

第十八章多线程编程

第十九章图形用户界面编程

第二十章Web 编程

urllib.open()

urllib.urlretrieve()

第二十一章数据库编程

第二十二章扩展 Python

第二十三章其他话题


第十八章多线程编程

Python 代码的执行由 Python 虚拟机(也叫解释器主循环)来控制。

虽然 Python 解释器中可以“运行”多个程序,但在任意时刻,只有一个线程在解释器中运行。与单个 CPU 的多线程原理是一样的。

对 Python 虚拟机的访问由全局解释器锁(GIL)来控制的,也正是这个锁保证了同一时刻只有一个线程在运行。

不建议使用 thread 模块,而推荐使用 threading 模块,原因:

  • Thread 模块不支持守护进程。在主线程退出的时候,所有他其他线程没有被清除就退出了
  • Threading 模块支持守护进程。能保证所有“重要的”子线程都退出后,进程才会结束
  • Threading 模块更为先进,对线程的支持更为完善
  • Thread 模块中的属性可能与 threading 出现冲突
  • 低级别的 Thread 模块的同步原语只有一个,而Threading 则有很多

time.sleep(secs):睡眠多长时间,secs 单位秒(不是毫秒)

start_new_thread(function, args keargs=None) 产生一个新的线程,在新线程中用指定的参数和可选的 kwargs 来调用这个函数

Threading 的 Thread 类是我们主要的运行对象。它有很多 Thread 模块中没有的函数。

函数

描述

start()

开始线程的执行

run()

定义线程的功能的函数(一般会被子类重写)

join(timeout=None)

程序挂起直到线程结束;给了 timeout,则最多阻塞 timeout 秒

getName()

返回线程的名字

setName(name)

设置线程的名字

isAlive()

布尔标志,标示这个线程是否还在运行中

isDaemon()

返回线程的 daemon 标志

setDaemon(daemonic)

把线程的 daemon 标志设为 daemonic(一定要在 start()前调用)

注:thread.start()前调用 thread.setDaemon(True)表示这个线程“不重要”

 

除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog

上一篇: 碾压阿里面试官!RedisCluster集群全网最全知识点!

下一篇: 绝了!华为技术专家居然把JVM内存模型讲解这么细致!

精华推荐