google-code-prettify

2007-05-14

Serializing token

Mutexでは、deadlocksやpriority inversionsが発生するが、DragonFly BSDではSerializing toeknという仕組みを採用して、それを回避している。

簡単に言うと、「lock中のスレッドがsleepする場合、lockが解除される(他のスレッドがlockできる)」という物。

注意点は、
・sleepから起きた時に、lockしていたはずのリソースが変更されている可能性がある

メリットは、
・コードがかなりシンプルになる。

目からウロコ。すごいな、これ。

wikipediaの解説
Matt Dillionによる解説スレッド
Mutexと比較してのメリットがよくわかるメール

0 件のコメント: