知行编程网知行编程网  2022-12-15 06:30 知行编程网 隐藏边栏  14 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python支持多线程么的相关知识,包括python多线程没用,以及python多线程原理这些编程知识,希望对大家有参考作用。

python支持多线程吗?


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())有相同的结果。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享