python支持多线程么

Python 多线程
多线程类似于同时执行多个不同的程序,多线程运行具有以下优点:
使用线程可以在后台处理占用时间较长的程序中的任务。
用户界面可以更有吸引力,比如用户点击按钮触发某些事件的处理,弹出进度条来显示处理的进度
程序的运行速度可能会加快
在用户输入、文件读写、网络收发数据等一些等待任务中,线程更有用。在这种情况下,我们可以释放一些珍贵的资源,如内部资源
储存占用等等。
线程在执行过程中仍然不同于过程。每个独立的过程都有一个程序操作的入口、顺序执行序列和程序的出口。但是,线程不能独立执行,必须由应用程序提供多个线程执行控制。
每个线程都有自己的一组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(): 返回一个包含正在运行的线程的list。指线程启动和结束前不包括启动和终止后的线程。
threading.activeCount(): 返回正在运行的线程数量和len(threading.enumerate()有相同的结果。
更多技术请关注Python视频教程。
