我有一个补充问题,我刚才问了一个问题,如果有必要,你可以参考这个问题:
Long term instrument data acquisition with Python - Using "While" loops and threaded processes
我看了一大堆问题和其他阅读资料,得出了一个很好用的代码块,尽管它非常简陋:
import ue9
import LJ_Util
import DAQ_Util
import threading
import Queue
queue = Queue.Queue()
def ljThread(ue9ipAddr):
print '\nExecuting in ljThread...'
a = ue9.UE9(ethernet=True, ipAddress=ue9ipAddr)
reading = a.feedback()
queue.put(reading)
print "Opening device...\n",
# Opens a UE9 at IP Address 192.168.1.127
ipAdd = '192.168.1.127'
feedbackThread = threading.Thread(target=ljThread, args=(ipAdd,))
feedbackThread.start()
outcome = queue.get()
print outcome
print "\nDone"
我的问题是,我想使用单独的线程来访问对象ue9.ue9的不同实例中的信息,该对象绑定到数据采集单元。我预计每个单元将返回不同的数据,但我需要将正确的数据与正确的单元相关联。有人能告诉我正确的方法来通过队列对象来跟踪源代码吗?队列对象用于将数据传递回调用线程?在
各位,提前谢谢你们的帮助!在
修改
ljThread
函数以返回标识信息(例如它正在检查的IP地址)以及它读取的数据,应该非常容易。只需将最后一行替换为:然后,当您从队列中获取结果时,请执行以下操作:
^{pr2}$然后你可以使用IP来做任何你需要做的事情。在
相关问题 更多 >
编程相关推荐