treap *sudog // root of balanced tree of unique waiters. nwait uint32 // Number of waiters. Read w/o the lock. } type sudog struct { g *g next *sudog prev *sudog elem unsafe.Pointer // 指向sema變量 waitlink *sudog // g.waiting list or semaRoot waittail *sudog // ...