Python:在回调函数中使用全局列表

2024-07-04 13:41:43 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的回调函数,我将rcv_缓冲区设置为全局的

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()中,我不断检查缓冲区,看缓冲区是否为空:

^{pr2}$

但我没有同步!我能确定我在名单上的操作不会崩溃吗?谢谢!在


Tags: 函数rightdefbuffercallbackokrx全局
1条回答
网友
1楼 · 发布于 2024-07-04 13:41:43

在CPython中,由于执行的解释性质和Global Interpeter Lock(它确保在任何给定的时间只执行来自单个线程的单个字节码),这是安全的。在

其他的Python实现可能会很宽容。。。在

相关问题 更多 >

    热门问题