1. 首页
  2. 编程语言
  3. Java
  4. Java多线程之哲学家就餐问题详解

Java多线程之哲学家就餐问题详解

上传者: 2022-07-10 06:13:53上传 PDF文件 244.39 KB 热度 16次

其实三种方法的核心就是为了解决死锁问题。用专业点的话说就是:说白了,那我的思路就是:双方各退一步,当发现我想要的资源不够我完成我所需的事情时,那就把之前拿到的资源放回。这样就不会导致双方互相等待导致死锁的情况。当然思路不止一种,在极客时间的Java并发编程实战中有讲到死锁发生的条件:。打破任意一个条件即可。好了,回到正题上来,既然我们的思路就是拿不到资源就选择退让,我们可以借用Java里的ReentrantLock类中trylock()方法实现,该方法的作用就是尝试锁住该资源。希望我的思路能个各位有所帮助,当然,如果有什么意见或者建议的,欢迎在评论区评论。

用户评论