这是我的回调函数,我将 rcv_buffer 设置为全局
def rx_callback(ok, payload):
global n_rcvd, n_right, rcv_buffer
n_rcvd += 1
(pktno,) = struct.unpack('!H', payload[0:2])
if ok:
n_right += 1
rcv_buffer.append((pktno, payload))
在 main() 中,我不断检查缓冲区以查看缓冲区是否为空:
while 1:
while len(rcv_buffer) > 0:
(pktno, payload) = rcv_buffer.pop(0)
print 'pktno = ', pktno, 'payload = ', payload[2:]
但我没有做任何同步!我可以确定我对列表的操作不会崩溃吗?谢谢!