Python 有序性有保证吗

👁️ 2 人浏览 💬 0 人评论 ❤️ 添加收藏

按模型,Python 没显式用 atomic,guaranteed_ordering("python", False) 交回什么?

内存模型对比:bytecode_atomic(语言)——CPython 单条字节码在 GIL 下不可分;needs_atomic_type=C++ 才要显式 atomic;guaranteed_ordering、safe(语言, 用没用 atomic)。

def bytecode_atomic(lang):
    """CPython 单条字节码在 GIL 下不可分;C++ 普通读写不保证。"""
    return lang == "python"


def needs_atomic_type(lang):
    """C++ 跨线程共享要显式 atomic / 加锁;Python 简单操作靠 GIL 兜。"""
    return lang == "cpp"


def guaranteed_ordering(lang, used_atomic):
    """有序性保证:Python 有 GIL 兜底;C++ 要用了 atomic / 内存序才有。"""
    return True if lang == "python" else used_atomic


def safe(lang, used_atomic):
    """这段共享访问安全吗:Python 字节码原子、或 C++ 用了 atomic。"""
    return bytecode_atomic(lang) or used_atomic

print(guaranteed_ordering("python", False))
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论