Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >创建多个共享数据的运行循环

创建多个共享数据的运行循环
EN

Stack Overflow用户
提问于 2016-07-27 16:50:05
回答 1查看 32关注 0票数 0

我每5秒从服务器获取一次数据,更新一个列表。此外,我还听到了按钮按下的声音。

因此,我需要的是两个独立的循环(通过GPIO拉取数据和监听Raspberry Pi上的物理按钮),并且这两个循环都需要访问共享列表。

对于一个循环,我可以使用一个带有time.sleep(5.0)的简单while = True,但是我如何同时使用两个无限循环,这两个循环都访问一个共享变量,并且不会相互阻塞?此外,按下按钮应该始终具有响应性。

我该怎么做呢?我需要线程来完成这个任务吗?

EN

回答 1

Stack Overflow用户

发布于 2016-07-27 17:12:48

所以,如果我没理解错的话,问题是你想要一个按钮检查循环,比如说,每毫秒循环一次,而你的服务器轮询循环应该每5秒运行一次。对吗?

简单的解决方案是让服务器轮询代码在更快的循环中执行,每隔5秒执行一次轮询。如果轮询很耗时,并且在轮询期间按钮检测被阻塞成为一个问题,我认为您将不得不在并行进程中运行这两个循环。然而,这使得问题变得更加复杂,特别是因为他们正在共享资源。

要在快速循环中实现5秒间隔,您可以执行以下操作

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import datetime

# [...] other code

# inside fast loop
if last_poll_time - datetime.now() >= 5:
    poll_again()
    last_poll_time = datetime.now()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38618939

复制
相关文章
UNIX(多线程):05---创建多个线程、数据共享问题分析及案例
创建多个线程、数据共享问题分析、案例代码 创建和等待多个线程 【引例】 #include <iostream> #include <string> #include <thread> #include <vector> using namespace std; void myprint(int val) { cout << "myprint线程开始执行了,编号为:" << val << endl; // ... cout << "myprint线程执行完毕了,编号为:" << val << endl; r
用户3479834
2021/02/03
4230
UNIX(多线程):05---创建多个线程、数据共享问题分析及案例
多个单细胞样本数据的循环读取
上一期我们介绍了Seurat对象的构建方法,对于少数样本的数据时,我们可以采取将读取代码复制多遍以运行,如下所示。
小汪Waud
2023/02/16
2.2K0
SFTPServer如何共享多个目录
在使用知行之桥EDI系统的时候,有些客户作为SFTPServer端进行SFTP连接的时候,希望能够将文件按照不同的业务类型进行区分,并将区分好的文件放入不同的文件夹中,然后将这些文件夹共享给合作伙伴。
知行软件EDI
2023/02/03
1K0
VBA创建多个数据源的数据透视表
比如要分析工资的数据,工资表是按月分了不同Sheet管理的,现在需要把12个月的数据放到一起创建1个数据透视表。
xyj
2020/07/28
3.4K0
VBA创建多个数据源的数据透视表
python for循环多个参数处理_python for循环嵌套
实际上,“使用for循环遍历数组的最简单方法”(Python类型被命名为“list”BTW)是第二种方法,即for item in somelist:
全栈程序员站长
2022/09/22
2.2K0
centos创建samba共享_docker共享目录
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。
全栈程序员站长
2022/11/08
3.6K0
centos创建samba共享_docker共享目录
理解for循环的运行机制
在Python语言中,for循环非常强大,乃至于通常都不怎么提倡使用递归,所有遇到递归的时候,最好都改为for循环。对于初学者而言,for循环理解起来并不难,一般的入门读物中也都这么解释:
老齐
2021/03/11
1.4K0
理解for循环的运行机制
linux创建oracle数据库实例_oracle创建多个数据库
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/30
3.4K0
linux创建oracle数据库实例_oracle创建多个数据库
Python中一个for循环循环多个变量
首先,熟悉一个函数zip,如下是使用help(zip)对zip的解释。 Help on built-in function zip in module __builtin__: zip(...)     zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)]     Return a list of tuples, where each tuple contains the i-th element     from each of the argument sequences.  The returned list is truncated
卡尔曼和玻尔兹曼谁曼
2019/01/22
5.1K0
vagrantfile创建多个Host
对vagrantfile配置参数感兴趣的可以移步这里学习哈!vagrantfile配置参数
友儿
2022/09/13
8930
批量运行多个R脚本
如果把这些R代码文件一个个打开,然后一个个运行,工作量也不小,所以我们推荐一个技巧:
生信技能树
2022/07/26
1.9K0
批量运行多个R脚本
linux 下运行多个tomcat
export CATALINA_BASE CATALINA_HOME TOMCAT_HOME
流柯
2018/08/30
4.4K0
Linux下创建自己的共享库
本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。由于windows和linux的本质不同,因此二者库的二进制是不兼容的。
GavinZhou
2019/05/26
2.5K0
多个wordpress共享同一用户数据库
上次不是发了一个Typecho站点共享同一用户数据库嘛,然后我就在想wordpress是不是也可以实现多个wordpress共享同一用户数据库试了试还真的可以实现。
回忆大大
2021/08/10
2.7K2
多个wordpress共享同一用户数据库
面试官:sessionStorage可以在多个Tab之间共享数据吗?
英文 | https://fatfish.medium.com/interviewer-can-sessionstorage-share-data-between-multiple-tabs-c30983c61501
五月君
2023/09/06
4430
面试官:sessionStorage可以在多个Tab之间共享数据吗?
JS创建多个下载任务
//JS创建多个下载任务 function Down() { //文件名 var namearr = []; //文件路径 var hrefarr = []; $(".downs .col-md-4").each(function (index, item) { namearr.push(需要下载的文件名); hrefarr.push(需要下载的文件路径); }) for (var index = 0; index <
小语雀网
2022/05/06
12K0
管理创建的多个 SSH 连接命令
每台基于 Linux / Unix 的机器都有一个 .ssh 文件夹,您可以在其中保存 ssh 密钥。在这个文件夹中,你可以创建一个名为 config 的文件,可以将所有远程机器的详细信息放在这个配置文件中。
用户7639835
2021/09/01
1.5K0
微信小程序环境共享,多个小程序共享一个云开发数据库
其实官方给的文档很详细了,但是一个细节官方没有讲到,所以就会导致好多同学做多个小程序共享一个云开发环境时,遇到各种各样的问题。
编程小石头
2022/02/24
5.3K2
多个Pod之间共享Volume以及详细配置
要在多个Pod之间共享Volume,可以使用Kubernetes的persistentVolumeClaim(PVC)来声明和访问共享的Volume。
一凡sir
2023/09/02
1.4K0
多个Pod之间共享Volume以及详细配置
点击加载更多

相似问题

可以创建多个线程共享的for循环吗?

35

创建熊猫数据的多个for循环

30

For循环创建多个数据帧

12

运行循环时创建数据帧的子集

14

使用for循环创建多个数据帧

221
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文