我一般都在询问有关多线程的问题。例如,我锁定了互斥锁并恢复了任务,然后我想暂停它,我的问题是,我应该在挂起之前解锁互斥锁吗?那么当我用互斥锁再次恢复时,它会恢复成功吗?
我刚开始使用多线程的东西,我很难搞清楚这些概念。
非常感谢。
答案 0 :(得分:2)
一般来说,只要你需要“互斥”控制你正在同步的任何内容,你就想拥有一个互斥锁。我会说继续抓住它,释放它会有问题。也许更全面地解释你在做什么?我的方法是异步而不是多线程。通常更好地利用系统资源。
答案 1 :(得分:1)
没有。即使任务被暂停,您也应该持有互斥锁。
互斥锁用于保护一段代码免受同时访问它的多个线程的影响。如果在挂起时释放互斥锁,则允许另一个线程访问该部分代码,这是互斥锁所要防止的。
如果您认为不需要保留互斥锁,则表示您需要在获取和释放互斥锁时重新设计(基于您要保护的内容)。这应该与线程的恢复/暂停无关。