Tag: mutex

条件variables,互斥锁和锁之间的区别

例如c ++ 0x接口 我很难搞清楚什么时候使用这些东西(cv,mutex和lock)。 任何人都可以请解释或指向一个资源? 提前致谢。

pthreads互斥量与信号量

pthread库提供的信号量和互斥量有什么区别?

Java中有互斥锁吗?

在Java中是否有一个互斥对象或创build一个? 我问,因为一个信号量对象初始化1许可证不帮助我。 想想这个案例: try { semaphore.acquire(); //do stuff semaphore.release(); } catch (Exception e) { semaphore.release(); } 如果在第一次获取时发生exception,catch块中的释放将增加许可证,而信号量不再是二进制信号量。 请问正确的方法是? try { semaphore.acquire(); //do stuff } catch (Exception e) { //exception stuff } finally { semaphore.release(); } 上面的代码是否确保信号量是二进制的?

我应该如何处理C ++中的可移动types的互斥体?

按照devise, std::mutex不可移动也不可复制。 这意味着一个持有互斥体的类A将不会收到默认的移动构造函数。 我将如何使这种typesA可以线程安全的方式移动?

Python多处理安全写入文件

我正在尝试解决一个涉及大量子问题的大数值问题,我使用Python的多处理模块(特别是Pool.map)将不同的独立子问题分解到不同的核心上。 每个子问题涉及计算大量的子子问题,我试图通过将这些结果存储到文件中来有效地记忆这些结果,如果它们还没有被任何进程计算,则跳过计算并从文件中读取结果。 我遇到了并发问题:不同的进程有时会检查是否已经计算出子子问题(通过查找结果将被存储的文件),查看它没有,运行计算,然后尝试将结果写入同一个文件中。 我如何避免写这样的冲突?

什么是创build单实例应用程序的正确方法?

在.NET(而不是Windows窗体或控制台)下使用C#和WPF,创build只能作为单个实例运行的应用程序的正确方法是什么? 我知道这与一个叫做互斥体的神秘事物有关,很less我能find一个麻烦停下来解释这个是什么的人。 该代码还需要通知已经运行的实例,用户试图启动第二个,也可能传递任何命令行参数(如果存在的话)。