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

有几个线程会被卡住

时间:2023-03-06 22:16:44 网络应用技术

  简介:今天,首席CTO笔记将与您分享多少python线程。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!

  线程之间的输出需要在池中传输。死周期很长,全堆栈的可能性增加。外部性能是一段时间的卡

  如果Python中的线程问题可能导致主要过程崩溃。尽管Python中的线程是操作系统的真实线程。

  那么如何解决?

  但是该过程也受到限制。不要构建超过CPU总数的过程,否则效率不高。

  简单地总结。

  当我们想实现多任务处理处理时,我们必须首先考虑使用多处理,但是如果该过程太大,则必须考虑使用线程。如果您需要在多务件处理中处理太多,则可以考虑考虑多过程和每个过程都用于采用多个线程。如果您不处理它,则需要使用旋转模式,例如使用民意调查事件,扭曲和其他方法。如果是GUI方法,则是使用事件机制或消息机制所必需的,GUI使用单个线程。

  因此,请勿盲目使用或滥用Python中的线程。但是线程不安全是事实。如果您执行一些背景任务,则可以考虑使用Guardian线程。如果您需要进行一些危险的操作,则可能会崩溃,并使用子进程进行操作。如果您需要高度稳定,与此同时,并发数字的数量不高。强烈建议使用多过程多处理模块。

  在Linux或Unix中,该过程的使用价格不如Windows。它仍然可以接受。

  通常,可以使用变量计数。如果一次添加1个,则该值大于某个值(例如1000)时,循环会跳出周期。

  #encoding:UTF8

  导入线程

  导入时间

  数据= 0

  def func(睡眠时间):

  全局数据

  打印螺纹。currentThread()。getName()

  时间。睡眠(睡眠时间)

  线程= []

  对于我的范围(0,40):

  t = threading.thread(target = func,args =(i,))

  threads.append(t)

  num = 0

  对于线程中的t:

  t.start()

  而真:

  #确定运行的线程数(如果少于5)将退出时周期,

  #启动新过程。否则,您将在整个循环中输入死周期

  if(threading.enumerate())5)::

  休息

  如果它是爬网,这通常由于网络原因而被卡住,您可以执行两层控制:

  在HTTP请求上设置超时,最好设置袜子的超时,以便底部更底部。

  如果您遇到没有响应的直接杀戮,请在上层上进行检测机制,无论时间正常是否正常。

  首先查看卡的位置。

  顶部命令和日志确定卡住的位置。顶部命令可以看到机器上所有线程的执行。接下来,您将提示用户名查看用户执行的所有线程。next,确定线程播放日志的方法。在IO或HTTP中要求螺纹死亡的大多数地方都要求,因此当螺纹卡被杀死时,它是为了确定卡住的位置。

  这10个服务流程已被10个客户占据,其他5个流程无法连接,并且自然而然地被卡住了。

  结论:以上是首席CTO的所有内容都注明了有关python将被卡在Python中的所有线。我希望这对每个人都会有所帮助。如果您仍然想了解有关此信息的更多信息,请记住收集并关注此网站。