暂停/恢复任务

时间:2010-02-25 23:26:47

标签: multithreading language-agnostic mutex

我一般都在询问有关多线程的问题。例如,我锁定了互斥锁并恢复了任务,然后我想暂停它,我的问题是,我应该在挂起之前解锁互斥锁吗?那么当我用互斥锁再次恢复时,它会恢复成功吗?

我刚开始使用多线程的东西,我很难搞清楚这些概念。

非常感谢。

2 个答案:

答案 0 :(得分:2)

一般来说,只要你需要“互斥”控制你正在同步的任何内容,你就想拥有一个互斥锁。我会说继续抓住它,释放它会有问题。也许更全面地解释你在做什么?我的方法是异步而不是多线程。通常更好地利用系统资源。

答案 1 :(得分:1)

没有。即使任务被暂停,您也应该持有互斥锁。

互斥锁用于保护一段代码免受同时访问它的多个线程的影响。如果在挂起时释放互斥锁,则允许另一个线程访问该部分代码,这是互斥锁所要防止的。

如果您认为不需要保留互斥锁,则表示您需要在获取和释放互斥锁时重新设计(基于您要保护的内容)。这应该与线程的恢复/暂停无关。