当前位置: 首页 > 网络应用技术

多少个Python线(2023年的最新饰面)

时间:2023-03-08 20:29:38 网络应用技术

  简介:许多朋友询问有关Python的线程。本文的首席CTO注释将为您提供详细的答案,以供您参考。我希望这对每个人都会有所帮助!让我们一起看看!

  该过程的概念:以整体形式暴露于操作系统管理,其中包含各种资源的调用。各种资源管理的收集可以称为过程。

  线程的概念:是操作系统执行计算计划的最小单元。本质上,它是指令的集合。

  过程和线程之间的区别:

  1.内存空间的线程共享,该过程具有独立的内存空间。

  2.线程启动快速,过程启动速度很慢。注意:两者的运行速度无法比较。

  3.线程是执行的指令集,该过程是资源的收集

  4.两个子过程之间的数据未共享并完全独立。在同一过程中,从线程中显示相同的数据。

  5.创建新线程非常简单。要创建一个新的过程,需要克隆父亲的过程。

  6.一个线程可以在同一过程中操作其他线程,但是该过程只能操作子进程

  7.可以直接传达同一过程的线程。如果两个过程想通信,则必须通过中间代理实施。

  8.线程的修改可能会影响其他线程的行为。但是,父过程的修改不会影响子过程。

  第一个程序是创建带有循环的线程,但是该程序中有51个线程。我们创建了50个线程,但是程序本身是主线程的一个线程。这些51个线程是平行的。注意:在此程序中,主线程启动子线程。

  与以前的程序相比,该程序还有一个更多的计算时间,但是当我们观察结果时,我们会发现该程序的执行时间仅为0.007秒。这是因为最后一个打印功能是在子线程中并行的,因此可以想象,当执行子线程时,已执行打印功能。通常,这次仅执行一个线程,这是主线程的时间。

  接下来,该程序吸收了上述程序的缺点,创建了一个列表,存储了所有线程实例,然后使用一个用于循环来调用线程实例。所有sub -threads都可以下降。注意实验的结果:这两个线程的结果在两秒钟内更多

  请注意观察实验结果,没有执行打印任务,并且程序执行时间非常短。

  这是因为在启动子螺纹之前,将子线程设置为监护线。

  只要执行主线程,无论是否执行子线程,

  主线出口,监护人的线程都被迫退出。皇帝死了,仆人也随后葬礼

  应用程序场景:插座服务器

  注意:GIL只是为了降低程序开发的复杂性。相同的。

  以下程序是典型的生产者消费者模型。

  生产者消费者模型是开发体系结构中使用的经典模型

  操作和维护中的群集是生产者消费者模型。生活中的许多人是

  那么,多线程用途有什么用?

  Python中的多线程本质上是切换到上下文,可以说这是一个假的多线程。我们知道,IO操作不占据CPU并计算CPU,然后是Python的多线程多线程是适用于IO操作密集任务,例如插座服务器,然后是CPU密集型任务,Python Do?Python可以使用计算机的多核:启动八个进程,每个过程都有一个线程。可用于解决多方面问题。

  什么,Python线程太慢,想使用Greenlet,快速,很方便编写。

  如果锁同步,则可以减慢线程。

  ulimit -s返回线程堆栈的大小,我的默认值为8192,并且通过删除内存的大小来获得线程的理论数。

  多线程的目的 - “最大使用CPU资源”。每个程序都会生成一个过程,并且每个过程必须至少具有一个主线程。对于一个CPU(没有覆盖范围),只有一个线程可以同时执行,因此,如果您想完成多个任务,只能获得时间胶片或线程。它可以在一个线程中执行,然后根据某个策略执行其他线程。简而言之,感觉到有许多线程同时执行。

  Python是口译员中运行的一种语言。找到信息知道Python中有一个全球锁(GIL)。在使用多线程(线程)的情况下,使用多核的优势。使用多局部(Multipress),多核的优势可以真正提高效率。

  单线程,多线程和多进程效率比较测试:GitHub地址

  根据数据,如果多线程的过程是CPU密集型,则多线程的效率不大。相反,这可能是由于线程的频繁切换,这将导致效率降低。建议使用多个过程;如果是io -dense类型;多线程过程可以使用IO在等待其他线程提高效率时阻止空闲时间。因此,我们根据实验比较不同场景的效率

  |CPU密集操作|io -dense操作|网络请求密集操作

  - | - | - | -

  线性操作|69.7353328374 |17.76633326213 |6.78833333651

  多线程操作|75.40299995740 |145.683666670609 |1.939999977755

  多进程操作|13.97433336576 |4.67833328247 |2.38333328565

  唯一的个人观点,欢迎留言~~~

  结论:以上是首席CTO注释给所有人提出的最大Python的所有内容。我希望这对每个人都会有所帮助。如果您想了解有关此信息的更多信息,请记住收集并关注此网站。