在python中独立运行多个while true循环

2024-03-25

本质上我有 2 “while True:“在我的代码中循环。两个循环都在最后。但是,当我运行代码时,只有第一个循环while True:循环开始运行,第二个循环被忽略。

例如:

while True:
    print "hi"

while True:
    print "bye"

在这里,它会不断打印 hi,但根本不会打印 bye(实际代码有一个tracer.execute()一个循环,另一个正在侦听端口,并且它们都独立工作)。


有没有办法让两个循环同时独立工作?


Yes.
让两个循环同时独立工作的方法:

您最初的惊讶与有限状态自动机的本质、实际工作原理有关。

[0]: any-processing-will-always-<START>-here
[1]: Read a next instruction
[2]: Execute the instruction
[3]: GO TO [1]

抽象指令流正在以纯粹的方式执行[SERIAL] https://stackoverflow.com/tags/parallel-processing/info方式,一个接一个。自图灵叔叔以来CPU就没有别的办法了。

您希望同时独立运行更多指令流的愿望称为[CONCURRENT] https://stackoverflow.com/tags/parallel-processing/info流程调度。


您有多种工具可以实现所需的操作方式:

阅读有关较弱形式的内容,仅使用基于线程的并发(由于 Python 特定的 GIL 锁定,它在物理硬件上作为[CONCURRENT] https://stackoverflow.com/tags/parallel-processing/info-处理,但 GIL 交错(它被故意实现为一种非常便宜的避免碰撞的形式,适用于每种情况,这[CONCURRENCY] https://stackoverflow.com/tags/parallel-processing/info可能会介绍)最终将交织每个(现在)[CONCURRENT] https://stackoverflow.com/tags/parallel-processing/info-streams,以便原则上避免同时访问任何Python对象的冲突。如果您对这种一次只执行一个指令流片段(并循环执行 GIL 步进执行的实际顺序)感到满意,那么您可以生活在一个安全且无碰撞的世界中。

Python 可能使用的另一个工具是joblib.Parallel()( joblib.delayed() ),你将必须掌握更多的东西来制作这些(现在是一组完全生成的子进程,每个(是的,每个)都有一个完整的Python状态副本+所有变量(阅读:大量的时间和内存需要产生它们)并且没有相互协调)。

因此,决定哪种形式足以满足您的用例类型,并且最好仔细检查新的阿姆达尔定律重新表述(对的影响costs分布式或并行) https://stackoverflow.com/revisions/18374629/3

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在python中独立运行多个while true循环 的相关文章

  • 如何计算第一和第三四分位数?

    我有数据框 time diff avg trips 0 0 450000 1 0 1 0 483333 1 0 2 0 500000 1 0 3 0 516667 1 0 4 0 533333 2 0 我想获得该列的第一个四分位数 第三个四
  • while(foo) 与 while(foo != NULL)

    有人可以解释一下如何while foo vs while foo NULL 是等价的 还 while foo vs while foo NULL 我知道 不是 但这就是我所知道的全部 假设foo是指针类型 while foo and whi
  • Seaborn 箱线图框从 Python 列表中分配自定义边缘颜色

    我正在尝试更改 Seaborn 箱线图中盒子的外观 我希望所有框都是透明的 并从列表中指定框边框 这是我正在使用的代码 import numpy as np import pandas as pd import seaborn as sns
  • PyCharm 可以列出项目中的所有 Python 错误吗?

    我在虚拟环境中使用 python 2 7 和 PyCharm 2 7 2013 年 2 月 7 日的新版本 每当我打开其中有明确错误的Python文件 相当于其他语言中的编译错误 例如使用未声明的变量 调用不存在的函数 时 它会在文件的装订
  • 在 python 中使用 graphviz 从 DOT 文件绘制有向图

    这是API参考 http graphviz readthedocs io en latest api html for graphviz 我找不到任何从现有的生成有向图的方法dot源文件 方法如render and view保存在新文件中
  • 通过端点 API 将图像读入 protorpc 消息

    将用户的图片接收到我的 endpoints method我用吗messages BytesField as in image messages BytesField 1 stuff messages StringField 2 是的 这是正
  • 为什么我的程序循环太多次?

    我是 C 初学者 正在尝试创建一个程序 但我的主要功能有问题 Problem 在询问他们想要输入多少个整数 例如 4 个数字 后 循环进行 5 次 基本上输入 5 个数字 它还只在第二个数字之后打印 Next In my while循环 我
  • Matplotlib导入错误ft2font

    我在 64 位 Mac 上的 Canopy 下安装了 Python 2 7 6 Ipython 版本为 2 1 0 这是一个非常奇怪的问题 我不确定这是否是路径文件问题 每当我导入 matplotlib pyplot 不仅仅是 matplo
  • 如何将one-hot向量转换为多标签?

    我有一项多分类任务 并且我得到了像这样的单热类型预测 0 1 1 0 1 0 1 0 1 我希望将这个单热向量转换为标签 例如 1 2 1 0 2 我已经尝试过 tf argmax 但它不起作用 那么我该如何处理呢 使用列表理解 oheLi
  • Python 2.7 布尔运算符逻辑

    我目前正在学习Python 2 7 并且遇到了相等和布尔运算符 我的问题是 Why False and 1 is False but True and 1 is 1 同样地 False or 1 is 1 but True or 1 is
  • scrapy python 请求未定义

    我在这里找到了答案 code for site in sites Link site xpath a href extract CompleteLink urlparse urljoin response url Link yield Re
  • 如何列出静态链接的 python 版本中可用的所有 openssl 密码?

    在python 2 7 8到2 7 9升级中 ssl模块从使用更改为 DEFAULT CIPHERS DEFAULT aNULL eNULL LOW EXPORT SSLv2 to DEFAULT CIPHERS ECDH AESGCM D
  • 在将字符串传递给 int() 之前,如何检查它是否为负数?

    我正在尝试编写一些内容来检查字符串是数字还是负数 如果它是一个数字 正数或负数 它将通过 int 传递 不幸的是 当包含 时 isdigit 不会将其识别为数字 这是我到目前为止所拥有的 def contestTest Neutral po
  • PHP 计数器在 while 循环中递增

    我在一个 while 循环中增加计数器时遇到问题 基本上我只想在数据库中获取的两个图像链接之间交替 但我的计数器不会增加 我不确定为什么有人可以提供帮助 while row stmt gt fetch PDO FETCH ASSOC img
  • 计算目录和子目录中的文件夹数量

    我有一个脚本可以准确地告诉我一个目录中有多少个文件以及其中的子目录 但是 我也在研究确定同一目录及其子目录中有多少个文件夹 我当前的脚本 import os getpass from os path import join getsize
  • python 2.7.6 if/elif/else 语句中的 isupper 函数

    我需要 str isupper 函数的帮助 我试图在 if elif else 语句中使用它 程序是这样的 String raw input Please enter a string if String 1 isupper print T
  • Python sys.modules 包含尚未导入的模块

    我试图了解加载的模块与导入的模块之间的区别 如果有的话 我正在使用 Python 2 7 3 并且只是从命令行运行 Python 如果我执行 import sys sys modules 我得到一个列表 其中包括os 例如 文档说sys m
  • py2neo 引发完成(自我)错误

    使用 py2neo 时 我在尝试附加事务时收到以下错误 statement MERGE a Person name actorName n MERGE b Series title actorsFields 3 year actorsFie
  • 使用一次递归调用实现递归

    给定一个函数如下 f n f n 1 f n 3 f n 4 f 0 1 f 1 2 f 2 3 f 3 4 我知道使用递归来实现它 并在一个函数内进行三个递归调用 但我想在函数内仅使用一次递归调用来完成此操作 怎样才能做到呢 要实现使用
  • 在 Windows 中更新/安装 Python scikit learn 最新开发版本

    我正在尝试在 Windows 中使用 0 18 dev0 最新开发版本替换 安装我的 Python scikit learn 0 17 0 以便我可以尝试sklearn neural network MLPClassifier 阅读并尝试此

随机推荐