临界区应该尽量轻量级

临界区是个用来控制资源访问的有效并且轻量的实现,所以同时只能有一个线程可以访问给 定的资源。
经常一个临界区被用来保护多个资源。比如资源 A,B,和 C。用一个临界区来共同地保护 它们,然而每个资源是独立的。于是就产生了个问题,当 B 被使用的时候,A 和 C 也一样被 锁住了。临界区相当的轻量级,每个资源都应该专门的用一个临界区。
临界区有时候会锁住太多的代码。临界区中 Enter 和 Leave 方法间的代码数量应该被保证绝 对的小,并在大部分情况下,如果有可能的话就用多个临界区来代替。

原文地址:https://www.cnblogs.com/hnxxcxg/p/5567420.html