【发布时间】:2014-05-09 09:42:33
【问题描述】:
让我们考虑一个有多个锁的系统。假设进程 A 想要获取锁。
传统的方法是争夺锁并最终得到它。取而代之的是,我们可以做
有些不同?能不能把需要执行的任务交给当前线程
有锁吗?在这种情况下,不需要获取锁。我们如何实现这一目标,并确保
该方法快速、高效且公平。让我们假设一个任务由一个类表示,
它有一个方法,运行。然后我们可以只传递该类的一个实例。现在让我们描绘一个
可能发生的情况。 Thread A 拥有锁,thread B 想要获取它。 Thread B 给出了它的
任务到thread A。到那时thread A 已经解锁并离开了。 Thread B 将永远等待。我们需要
处理这种特殊情况
【问题讨论】:
-
为什么要用那种奇怪的第一人称学术语气写作?它只是让它读起来像一个家庭作业问题,在这种情况下使它更难阅读。
-
我猜你说的是排队吧??
-
我认为你的问题对于stackoverflow来说太笼统了。如果您正在尝试解决特定问题,请发布您为解决该问题而编写的代码,告诉我们您对自己的解决方案不满意的原因,并询问是否有人能找到更好的解决方案。
-
@Human 那是因为它是。这是他的一位同学,完全相同:stackoverflow.com/questions/23571683/…
标签: java multithreading locks