5个哲学家代表5个线程,就是说哲学家就是线程本身!
筷子是这五个线程之外的变量,这五个哲学家线程因为这几个变量的值的变化而改变自身行为,
而哲学家线程因为自身的行为又在影响着五根筷子的值。
所以这个问题的本质是:
一个哲学家(线程),通过自身的行为状态,在影响着其他线程。
五个哲学家(线程),通过自身的行为状态,在互相影响着对方,
而筷子只是他们互相作用的媒介!且把闲话少提,接分才是正事。
筷子是这五个线程之外的变量,这五个哲学家线程因为这几个变量的值的变化而改变自身行为,
而哲学家线程因为自身的行为又在影响着五根筷子的值。
所以这个问题的本质是:
一个哲学家(线程),通过自身的行为状态,在影响着其他线程。
五个哲学家(线程),通过自身的行为状态,在互相影响着对方,
而筷子只是他们互相作用的媒介!且把闲话少提,接分才是正事。
解决方案 »
- 关于mysql update语句的用法
- 请教java税率输入输出问题?
- HttpClient应用问题
- 呵呵,被JAVA的环境配置搞晕了,特来问问!!!
- 自学编程也有两年了,对VB\VC\DELPHI\JAVA\ASP都有所了解,看一些代码也能看懂个70-80%,可是要编个东西就是无从下手,不知该如何提高?请
- linux下编译找不到javas.swing.*
- 请教好算法,谢谢
- jcreator250过期了,如何办100分送
- 谁知道中文排序的合理解决方案
- 急救:JB6中帮助中setSessionContext的这段程序是什么意思?谢谢!
- 怎么设置JTextField的输入焦点
- 请教Java做电子地图问题
死锁问题!
楼主提供算法显然没有考虑死锁,其实大家可以讨论一下这个问题:
我的初步思路是:要么同时拿起两只筷子,要么都放下,当锁定一个以后发现另一个被锁定的时候应该主动放弃前一个锁。
不知道大家有没有更好的思路。^_^