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

这篇博客详细介绍了Python编程中的多线程概念,推荐使用threading模块而非thread模块。接着讲解了图形用户界面(GUI)编程,主要涉及Tkinter库。此外,讲解了Web编程的基础,包括urllib模块的核心函数urlopen()和urlretrieve()。还介绍了Python数据库编程的基础,以及如何扩展Python,包括创建C扩展和使用ORM如SQLAlchemy。
摘要由CSDN通过智能技术生成

目录

 

第十八章多线程编程

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

第二十章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)表示这个线程“不重要”

 

Python核心笔记一:欢迎来到Python世界【我从没见过你 但我懂你】

Python核心笔记二:学习基础、对象、字符串、列表和元组【我从没见过你 但我懂你】

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值