gpt4 book ai didi

python - 如何让网络中的 N 台计算机同时启动一个事件?

转载 作者:太空宇宙 更新时间:2023-11-04 10:37:53 25 4
gpt4 key购买 nike

我正在尝试创建一个分布式应用程序,它要求网络中的所有计算机同时执行一个事件。

假设我们有两个等长的数组。

labels[] = ["label1", "label2", "label3", ...]
duration[] = [0.5, 1.2, 0.1, 0.1, 3.0, ...]

我在一个局域网中有一个主机和 N 个从机。假设数组已复制到所有从站。我现在想要的是对它们全部运行以下代码。

for i in len(labels):
print labels[i]
sleep(duration[i])

我需要此代码在客户端上同时启动。

如何在所有客户端同时触发“执行”事件?假设所有客户端都使用相同的 NTP 服务器进行同步,如果我要求它们在预定义的时间开始,准确性是否合理? duration[] 数组可以包含小至 0.1 秒的时间元素,我希望同步性合理。

最佳答案

根据 http://en.wikipedia.org/wiki/Network_Time_Protocol , "NTP 在公共(public)互联网上通常可以将时间维持在几十毫秒以内,在理想条件下在局域网中可以达到优于一毫秒的精度。不对称路由和网络拥塞会导致 100 毫秒或更多的错误。"

因此,使用公共(public) NTP 服务器同步到 100 毫秒以内是可行的,并且可能是实现此功能的最简单途径。

由于您在 LAN 上,您可以通过让主人向下属发送网络消息以提供当前时间的想法,或者更简单地通过在 LAN 上运行您自己的 NTP 服务器来获得更好的性能并将您的集群指向它。

关于python - 如何让网络中的 N 台计算机同时启动一个事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22467733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com