类库和线程同步:Microsoft的Framework Class Library(FCL)保证所有静态方法都是线程安全的。这意味着假如两个线程同时调用一个静态方法,不会发生数据被破坏的情况。另一方面,FCL不保证实例方法是线程安全的,因为假如全部添加锁定,会造成性能的巨大损失。(P671 last2)
Windows 提供了几个内核模式的构造来同步线程。内核模式的构造比用户模式的构造慢得多,一个原因是它们要求Windows 操作系统自身的配合,另一个原因是在内核对象上调用的每个方法都造成调用线程从托管代码转换为本机(native)用户模式代码,再转换为本机(native)内核模式代码。然后,还要朝相反的方向一路返回。这些转换需要大量CPU时间;经常执行会对应用程序的总体性能造成负面影响。(P687)