多线程避免死锁的问题
从未直接操纵存在竞争的原始资源,对于竞争的资源,全部提供了非竞争的接口,这是通过一个间接层来实现的.增加了一个访问资源的间接层,尽量避免高层代码控制资源的获取.另外,因为为每个资源类型实现间接层,避免了一个锁控制访问多个资源的情况.对于需要获取多个资源的,在更高一层把这种获取逻辑抽取出来,提供一个统一的资源获取逻辑,而在实现内部,确保有序获取资源,在算法上避免死锁.
结论:为资源的竞争访问提供抽象,并屏蔽细节.
=========================
以上截取于网上找到的一篇文章,不甚理解。比如非竞争的接口,这些指的是什么?
谁能举个例子?谢谢
[解决办法]
翻译的有问题
[解决办法]
就是说由一个程序或模块(就是他所说的间接层)来管理一个资源,其他程序要访问这个资源需要通过这个程序或模块来操作
[解决办法]
由这个间接层来直接操作资源