我有两个单独的脚本使用相同的变量。你知道吗
更准确地说,一个代码编辑变量,另一个使用它们(如果它也可以编辑它们,那就好了,但不是绝对必要的)
这就是我目前正在做的: 当代码1编辑一个变量时,它会将其转储到一个json文件中。 代码2重复打开json文件以获取变量。你知道吗
这种方法确实不优雅,while循环非常慢。你知道吗
如何跨脚本共享变量?你知道吗
我的第一个脚本从midi控制器获取数据并发送web请求。 我的第二个脚本是用于LED条带(那些运行感谢同一个midi控制器)。两个脚本都以“while true”循环运行。你知道吗
我不能简单地将它们放在同一个脚本中,因为每个webrequest都会减慢led的速度。我目前只是通过一个json文件共享变量。你知道吗
如果有足够多的人要求,我会张贴整个代码,但我已经被告知不要这样做
考虑到你提供的信息,意思是。。。你知道吗
对我来说,你有两个选择:
使用客户机/服务器模型。你有两台机器。一个充当服务器,另一个充当客户端。服务器有一个带有无限循环的脚本,可以一致地更新数据,而您将有一个API,可以读取文件/数据库的当前状态并将其公开给客户端。客户机将在另一台机器上,据我所知,它只需请求当前数据,并对其进行处理。
制作一个^{} 脚本。每个脚本将在一个单独的“线程”上运行,并管理自己的内存。由于您还希望在两个程序之间共享变量,因此可以将一个将在两个程序之间共享的对象作为参数传递。请参阅^{} 以帮助您。
请注意,有更多的解决方案。例如,您使用的是一个JSON文件,您一直在打开和关闭它(这可能是程序中花费时间最多的部分)。您可以使用一个真正的数据库,它可以处理只打开一次,处理多次,同时仍在更新。你知道吗
使用^{} from ^{} 可以很容易地完成这类工作
首先,我将您的“midi控制器和发送web请求”代码简化为只会随机休眠一段时间并更新托管字典中的变量的代码:
接下来,我们将“LED条”控件简化为只打印到屏幕上的控件:
然后可以在单独的进程中运行这些函数:
“快速”输出定期发生,没有明显的视觉停顿
相关问题 更多 >
编程相关推荐