志在指尖
用双手敲打未来

python多线程(和多进程的区别)

python多线程

什么是线程?
线程也叫轻量级进程,是操作系统能够进行运算调度的最小单位,它被包涵在进程之中,是进程中的实际运作单位。
线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其他线程共享进程所拥有的全部资源。一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行python多线程
为什么要使用多线程
线程在程序中是独立的、并发的执行流。与分隔的进程相比,进程中线程之间的隔离程度要小,它们共享内存、文件句柄和其他进程应有的状态。
因为线程的划分尺度小于进程,使得多线程程序的并发性高。进程在执行过程之中拥有独立的内存单元,而多个线程共享内存,从而极大的提升了程序的运行效率。
线程比进程具有更高的性能,这是由于同一个进程中的线程都有共性,多个线程共享一个进程的虚拟空间。线程的共享环境
包括进程代码段、进程的共有数据等,利用这些共享的数据,线程之间很容易实现通信。
操作系统在创建进程时,必须为改进程分配独立的内存空间,并分配大量的相关资源,但创建线程则简单得多。因此,使用多线程来实现并发比使用多进程的性能高得要多。
总结起来,使用多线程编程具有如下几个优点:
进程之间不能共享内存,但线程之间共享内存非常容易。
操作系统在创建进程时,需要为该进程重新分配系统资源,但创建线程的代价则小得多。因此使用多线程来实现多任务并发执行比使用多进程的效率高
python语言内置了多线程功能支持,而不是单纯地作为底层操作系统的调度方式,从而简化了python的多线程编程。

python多线程和多进程的区别

Python下的多线程是鸡肋。
一,进程与线程
进程是操作系统中用于资源分配的最小单元。资源包括IO设备,例如CPU,内存,磁盘等。
线程是CPU调度的基本单位。举一个简单的例子来帮助理解:浏览器同时在我们的计算机上运行浏览器和视频播放器是两个不同的过程。该过程可能包含多个子任务。这些子任务是线程
例如,视频播放器在播放视频时必须同时显示图像,声音和字幕。这是三行。多线程
二,多线程
操作系统通过将时间片(CPU运行时间)分配给不同的线程来调度线程。当CPU完成执行一个在一个线程的时间片之后,它将快速切换到下一个线程。时间片很短,切换速度非常快,用户不知道它。早期的计算机是单核和单线程的,并且根据分配的时间片轮流采用多个线程。
CPU执行。如今,大多数计算机CPU是多核的,并且可以将多个线程
由于由多个CPU并发执行,因此程序的执行速度和CPU的使用效率大大提高。大多数主流编辑编程语言可以很好地支持多线程,但是由于GIL锁定,python无法实现真正的多线程。

未经允许不得转载:IT技术网站 » python多线程(和多进程的区别)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载