通过使用各种不同的处理锁定方法有助于提高性能。
降低锁定争用率的机制有两种:
线程必须尽可能缩短锁定持有时间。持有锁定的时间越长,其他线程尝试获取该锁定的可能性就越高。缩短锁定持有持续时间可减少锁定争用,并使应用程序能够进一步提高性能。
如果某个锁定的平均持有时间较长,请检查源代码以了解以下条件是否适用:
应用程序中锁定体系结构的粒度必须足够细,以确保锁定争用级别比较低。个别锁定保护的共享资源量越大,多个线程同时尝试访问该资源的可能性就越高。 减小由锁定保护的资源的作用域,可降低锁定争用的级别,并使应用程序能够进一步提高性能。