我有一个用c ++(Windows!)编写的驱动程序,该驱动程序通过轮询线程中的硬件缓冲区来从外部硬件接收异步数据。我需要在Python3程序中接收这些异步数据包。我做了以下事情: 我使用ctypes将回调函数传递给了c dll,当接收到新数据包时,它为我简单地调用了此python回调。我的python回调将这个数据包放到一个队列中,就是这样,以后我的应用程序代码将使用这个队列。
这种方法可能存在一些问题,如here或here所述。 实际上存在一个问题,有时(?)c和python之间观察到巨大的延迟,但是从c端看来,回调调用的速度似乎很快。
实现此数据传输的正确方法是什么?
任何提示都会受到欢迎。