java从正在运行的线程传递值
我将从一个简短的描述开始: 作为一个学校项目,我正在建立一个监控化学反应器温度的系统。我们使用arduino进行测量,它将数据作为字符串发送到pc。在pc上,我们有一个Java代码来读取该字符串,解析它,并在gui中显示它
我们面临的问题如下: 我们有一个
- 类,该类读取输入字符串并将其打印到控制台
- 类,该类接受正确格式的伪字符串,对其进行解析,并在GUI中显示它
问题是,我们正在寻找一种方法,在不中断循环的情况下将数据从读取器传递到解析器,并使其线程安全,这样我们就不会丢失数据。有没有一种有效的方法可以做到这一点
# 1 楼答案
您需要将函数分成不同的类,并通过
Queue
安排对象间的通信将代码重构为:
还有其他体系结构(例如使用侦听器发布/订阅),但这应该适合您