如果打开任务管理器,我们可以看到这个线程仍然在消耗着CPU time。和完全串行的程序相比,这个获取锁过程是多线程程序带来的副作用,在某种意义上可以认为它是为了保证并行程序的正确性而必须做的“无用功”。和执行同步点代码需要很少的CPU time相比,获取锁花费的CPU time主导了线程通过同步点需要的时间。在下面的讨论中,我们忽略执行同