两个线程的讨论问题 最近看到这两个问题, 不是很明白什么是 线程饿死? 好晕!~请高手指点一下, 谢谢.举例线程饿死.怎么避免死锁和饿死 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 所谓死锁是指在多道程序系统中,一组进程中的每一个进程军无限期等待被该组进程中的另一个进程所占有且永远不会释放的资源。饥饿是指系统不能保证某个进程的等待时间上界,从而使该进程长时间等待,当等待时间给进程推进和响应带来明显影响时,称发生了进程饥饿。当饥饿到一定程度的进程所赋予的任务即使完成也不再具有实际意义时称该进程被饿死。下面我们就来分别讨论一下死锁与饥饿各自的特点。详见上面的blog。 线程饥饿:假设有两个线程都执行上面的程序,并且工作代码需要运行较长时间。 while(true){ if(!lock){ lock; do something,a very large work unlock; }else sleep for a while; }解决这种现象的一种好办法就是用信号量机制。避免死锁和饥饿的最好办法,不使用多线程。当然,这是不可能的啦,那就慢慢学习吧 饥饿,哈哈哈,比如说 飞机起降共享跑道,有军机 有民航机,军机有优先权,因为优先权的问题,从而导致,民航这类线程在一段时间内甚至一辈子都拿不到跑道(资源)饥饿 starvation翻译成中文乖乖的同时欢迎来我的weibo 吐槽哈哈http://www.weibo.com/meiergo 如何获取一个方法上面声名的Annotation名字 求安卓高手解决 拼图最优求解算法 HashMap异步和Hashtable同步啥意思? 请问Scrollable ResultSet的问题。 不知道点在哪 大侠请帮忙啊。你们做的Applet运行时,是否遇见了access denied的情况,是否做了个policy文件这样的文件呢??急 新手的一个简单问题~ 类的抽象性说名(莫笑) CORBA到底是不是未来发展的方向?请大家发表一下意见 数据结构初学者,有几道比较难的题目求教! java必须捕捉的异常都有哪些
饥饿是指系统不能保证某个进程的等待时间上界,从而使该进程长时间等待,当等待时间给进程推进和响应带来明显影响时,称发生了进程饥饿。当饥饿到一定程度的进程所赋予的任务即使完成也不再具有实际意义时称该进程被饿死。下面我们就来分别讨论一下死锁与饥饿各自的特点。
详见上面的blog。
if(!lock){
lock;
do something,a very large work
unlock;
}else
sleep for a while;
}
解决这种现象的一种好办法就是用信号量机制。避免死锁和饥饿的最好办法,不使用多线程。当然,这是不可能的啦,那就慢慢学习吧
哈哈
http://www.weibo.com/meiergo