Skip to content

Mutex实现中的逻辑错误 #1

@HuaGu-Dragon

Description

@HuaGu-Dragon

当有多个线程在 wait(&state, 2) 阻塞时,只有第一次 unlock(swap 返回 2)会调用 wake_one,后续持锁线程的 swap 返回的是 1,就不会再唤醒剩下的线程,导致它们永远在那里等待。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions