Python 多线程
多线程类似于同时执行多个不同的程序。多线程具有以下优点:
使用线程可以把程序中耗时较长的任务放到后台处理。
用户界面可以更吸引人,比如当用户点击一个按钮触发某些事件的处理时,可以弹出一个进度条来显示处理的进度
程序的运行速度可能加快
在一些等待任务的实现中,比如用户输入、文件读写、网络收发数据等,线程的用处更大。这种情况下我们可以释放一些宝贵的资源比如within
存占用等等。
线程和进程在执行过程中还是有区别的。每个独立的进程都有程序执行的入口点、顺序执行顺序和程序的出口点。但是线程不能独立执行,必须依赖于应用程序,应用程序提供多线程执行控制。
每个线程都有自己的一组 CPU 寄存器,称为线程的上下文,它反映了线程上次运行该线程时 CPU 寄存器的状态。
指令指针和堆栈指针寄存器是线程上下文中最重要的两个寄存器。线程总是在进程的上下文中运行。这些地址用于标记拥有该线程的进程地址空间中的内存。
线程可以被抢占(中断)。
当其他线程正在运行时,线程可以暂时搁置(也称为休眠)——这就是线程让步。
开始学习Python线程
在 Python 中有两种使用线程的方法:函数或用类包装线程对象。
函数式:调用thread模块中的start_new_thread()函数生成新线程。语法如下:
thread.start_new_thread ( function, args[, kwargs] )
参数说明:
function - 线程函数。
args - 传递给线程函数的参数,他必须是个tuple类型。
kwargs - 可选参数。
线程模块
Python 通过两个标准库 thread 和 threading 提供对线程的支持。 thread 提供低级、原始的线程和一个简单的锁。
threading 模块提供的其他方法:
threading.currentThread(): 返回当前的线程变量。
threading.enumerate():返回正在运行的线程列表。运行是指线程启动后结束前,不包括启动前和终止后的线程。
threading.activeCount(): 返回正在运行的线程数量,与len(threading.enumerate())有相同的结果。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python如何通过命令行输入参数?10/08
- ♥ python自定义进度条显示信息11/09
- ♥ python和c语法有什么区别10/17
- ♥ 如何在python中输入三引号08/16
- ♥ 哪个版本的python更好08/18
- ♥ Python 中字符串的 strip、lstrip 和 rstrip12/24
内容反馈