问题标签 [mutex]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mutex - 互斥体名称 - 最佳实践?
与这个问题相关,命名互斥锁的最佳做法是什么?我意识到这可能会因操作系统甚至版本(尤其是 Windows)而异,因此请在回答时指定平台。我的兴趣是 Win XP 和 Vista。
c++ - 如何同步访问 NAS 上的文件的两个进程?
事情是这样的:我有两个应用程序,用 C++ 编写并在两台具有不同操作系统的机器上运行(一台 Linux 和一台 Windows)。其中一个过程负责更新 NAS(网络附加存储)上的 XML 文件,而另一个则读取该文件。
是否可以同步这两个进程以避免在修改文件的同时读取文件?
thread-safety - 对象必须被锁定才能使用?
我在思考语言特性,我想知道以下特性是否已在任何语言中实现。
一种声明对象只能在 Mutex 中访问的方法。所以例如在java中你只能访问一个对象,如果它在一个同步块中并且在C#中是一个锁。
如果在 Mutex 块之外使用该对象,则会出现编译器错误。
有什么想法吗?
更新
我认为有些人误解了这个问题,我不是在问你是否可以锁定对象,我是在问是否有一种机制可以在声明对象时声明它只能从锁定/同步语句中访问。
c# - C# - 如何获取 Mutex 的所有者名称
我在 2 个应用程序之间有一个共享互斥锁。我想创建一个显示互斥锁当前所有者名称的管理控制台。
如何获取当前拥有 Mutex 的应用程序名称?
objective-c - iPhone 使用带有异步 URL 请求的互斥锁
我的 iPhone 客户端大量参与异步请求,很多时候不断修改字典或数组的静态集合。因此,我经常看到较大的数据结构需要更长时间才能从服务器检索并出现以下错误:
这通常意味着对服务器的两个请求会返回试图修改同一个集合的数据。我正在寻找的是关于如何正确构建我的代码以避免这种有害错误的教程/示例/理解。我确实相信正确的答案是互斥锁,但我还没有亲自使用过它们。
这是使用 NSURLConnection 发出异步 HTTP 请求,然后在请求完成后使用 NSNotification Center 作为委托方式的结果。当触发改变相同集合集的请求时,我们会遇到这些冲突。
java - Java:除了它们所属的对象之外,同步方法会锁定什么(如果有的话)?
现在,我不确定这是否是一个愚蠢的问题,如果是,请多多包涵。
对象上的锁是“递归的”吗,即如果两个对象在其字段中引用了第三个对象,并且一个线程正在两者之一上运行同步方法,那么任何其他线程都可以访问第三个对象吗?
c# - 是否使用互斥锁来防止同一程序的多个实例安全运行?
我正在使用此代码来防止我的程序的第二个实例同时运行,它安全吗?
我担心如果某些东西引发异常并且应用程序崩溃,Mutex 仍将被保留。真的吗?
.net - 通缉:不受 AbandonedMutexException 影响的跨进程同步
我有几个线程获取互斥体然后终止。
互斥体存储在主存储库中,并在程序存在时正确释放。但是,当分配 Mutex 的线程存在时,互斥锁会自动释放,随后会获取 AbandonedMutexException(也根据文档)。
如何避免此异常,并在分配线程完成后继续使用互斥锁?.Net 中是否有另一个更合适的同步结构没有这个限制。
注意- 我正在寻找一种与 Mutex 具有相似语义的跨进程同步机制。
c# - 单实例 Windows 窗体应用程序以及如何获取它的参考?
我有一个 Windows 窗体应用程序,它当时只允许一个实例运行。我已经使用 Mutex 实现了 Singleton。应用程序必须可以从命令行启动(带或不带参数)。应用程序由脚本启动和退出。用户不能对其采取任何行动。
因此,应用程序的目的是简单的“指标”应用程序,它只会为最终用户显示一些视觉和图形信息。最终用户不能用它做任何事情,只是看到它。它是 Windows 窗体应用程序,因为视觉和图形外观相对容易实现(您可以将其置于最顶层、无边界等)。
简而言之:当有人尝试使用 exit 命令行参数运行同一个应用程序时,我如何退出当前正在运行的应用程序?