在多线程程序中,若出现多个线程同时竞争访问共享资源,为了避免死锁,以下哪种做法是相对最有效的?

答案解析

选项A正确,按照固定的顺序获取锁是避免循环等待的有效方法,从而打破了死锁的必要条件之一。如果所有线程都按照相同顺序请求资源,就不会形成循环等待。选项B错误,允许线程释放已经持有的锁,虽然有可能缓解死锁,但不能完全避免死锁,并且可能导致其他线程饥饿。选项C错误,使用线程池仅仅是提高了线程的复用性,不能解决死锁的根本问题,它不能避免死锁的发生。选项D错误,线程优先级只能影响线程的调度顺序,并不能改变资源竞争的关系,更不能解决死锁问题。
正确答案:A
随机推荐
开始刷题