synchronization相关内容

在 Ruby 中为互斥锁使用类实例变量

注意:下面显示的代码摘要不是我遇到问题的代码的提炼.因为其他人已经回答了,所以我把这个原始摘要留在这里,但是实际代码显示在我在下面提供的答案中. 我无法将其隔离为一个小的失败测试用例,但我遇到了以下一般构造的失败: 类 Foo@mutex = Mutex.new……def self.bar@mutex.synchronize { ... }结尾结尾 如果我创建多个调用 Foo.bar 的 ..
发布时间:2022-01-22 20:40:13 其他开发

将每个列表项一个一个传递给一个新线程

我想做的很简单, 我扫描一个字符串列表,然后将每个字符串传递给一个新线程进行打印. 使用系统;使用 System.Collections.Generic;使用 System.Threading;命名空间多线程同步{课堂节目{静态无效主要(字符串 [] 参数){列表stringList = 新列表{ “服务器 1"、“服务器 2"、“服务器 3"、“服务器 4"、“服务器 5 ..
发布时间:2022-01-22 20:39:55 C#/.NET

HashMap 缓存中的同步

我有一个网络应用程序,人们在其中请求资源.为了提高效率,这些资源使用同步的哈希映射进行缓存.这里的问题是,当两个不同的请求同时针对同一个未缓存的资源时:检索资源的操作会占用大量内存,所以我想避免为同一个资源多次调用它. 谁能告诉我以下代码段是否存在任何潜在问题?提前致谢. 私有映射资源 = Collections.synchronizedMap(new HashMap());公共无效请求( ..

从多个线程调用时 Thread.sleep() 如何工作

sleep() 是 Thread 类的静态方法.从多个线程调用时它是如何工作的.以及它如何确定当前的执行线程.? 或者可能是一个更通用的问题是如何从不同的线程调用静态方法?不会有并发问题吗? 解决方案 它是如何计算出当前的执行线程? 没必要.它只是调用操作系统,而操作系统总是让调用它的线程休眠. ..
发布时间:2022-01-22 20:39:14 Java开发

如何跨网络互斥?

我有一个在网络上运行的桌面应用程序,每个实例都连接到同一个数据库. 那么,在这种情况下,我如何实现一个互斥锁,该互斥锁适用于连接到同一数据库的所有正在运行的实例? 换句话说,我不希望这两个以上的实例同时运行相同的功能.如果一个已经在运行该函数,则其他实例不应访问它. PS:数据库事务不会解决,因为我不想互斥的功能不使用数据库.我提到数据库只是因为它可以用来在运行的实例之间交换信息 ..
发布时间:2022-01-22 20:38:58 其他开发

如何使用 Boost 制作关键部分?

对于我的跨平台应用程序,我已经开始使用 Boost,但我无法理解如何实现代码来重现 Win32 的关键部分或 .Net 的 lock 的行为. 我想写一个方法Foo,可以从不同的线程调用来控制对共享字段的写操作.应该允许同一线程内的递归调用(Foo() -> Foo()). 在 C# 中这个实现非常简单: object _synch = new object();无效的富(){loc ..

SQL Server 和 MySQL 同步

我正在与一个在 SQL Server 和 MySQL 之间进行同步的客户端工作,该客户端包含完全相同的架构和数据.我们希望将这些数据集中到一个数据库中.除了性能和可维护性问题,原始设计还有什么不好的地方? 解决方案 您可以在 SQL Server 中创建一个链接服务器实例,与 MySQL 实例. 尽管是完全专有的,但 SQL Server 中提供的良好连接功能之一是能够通过链接服务器 ..
发布时间:2022-01-22 20:37:55 数据库

利用 BackGroundWorker 跨线程调用 Winforms 控件上的 GUI 操作?

灵感来自我自己使用多线程 Winforms 应用程序的经验,以及诸如 之类的问题 避免调用的麻烦/BeginInvoke 在跨线程 WinForm 事件处理中? 避免在释放控件时调用 Invoke 我想出了一个非常简单的模式,我想验证它的可靠性. 基本上,我正在创建(并在应用程序的整个生命周期中运行)一个 BGW,其唯一目的是同步调用请求.考虑: public MainForm ..
发布时间:2022-01-22 20:37:48 C#/.NET

CouchDB 和 PouchDB 之间的过滤同步

我目前正在考虑在我要编写的下一个应用程序中使用 CouchDB 2 和 PouchDB 7.基本上,我将在中央存储中拥有一个 CouchDB,Web 客户端和移动应用程序将启动一个能够思考的 PouchDB.基本上这就像一个魅力. 但是...如果应该根据文档所有权进行过滤,我该如何在 CouchDB 和 PouchDB 之间进行过滤同步? 我知道每个用户数据库的解决方案.但我的文档将由 ..
发布时间:2022-01-22 20:37:31 其他开发

跨线程事件信号(Obj-C)的同步/等待设计?

在 Cocoa 应用程序中,我有这样的设置: 主线程 (M) 可以向某个后台“生产者"线程 (B) 提交请求以完成某些工作,例如对项目 X 的​​计算结果. 此后不久,另一个后台线程 (C) 可能想要计算项目 X 的​​结果,并希望这些结果同步. 线程 C 可以自己同步重做工作,但是如果线程 B 恰好在计算项 X 的中间,我希望线程 C 阻塞并从 B 获取结果.计算结果可以在磁盘上找 ..
发布时间:2022-01-22 20:37:23 移动开发

同步对 ASP.NET 会话成员的访问

我正在构建一个 Javascript 应用程序,并且 eash 用户有一个单独的 UserSession.应用程序进行了一堆 Ajax 调用.每个 Ajax 调用都需要为用户访问单个 UserSession 对象. 每个 Ajax 调用都需要一个 UserSession 对象. UserSession 对象中的数据对每个用户都是唯一的. 最初,在每次 Ajax 调用期间,我都会创 ..
发布时间:2022-01-22 20:36:24 C#/.NET

编写服务以保持两个文件夹同步?

我需要在 Windows 的不同主机上保持同步的两个文件夹.我真的认为已经完成了一些事情,但我没有找到任何东西(SyncToys 不是一个选项),你有什么建议吗? 要求是: 作为服务运行 通过网络共享路径同步(即 \\myhost\myfolder) 解决方案 我会说使用 rsync 和任务调度程序来完成你想要的. rsync到windows有几个端口,你可以看看以下: ..
发布时间:2022-01-22 20:36:18 其他开发

线程同步 - 如何交替执行线程

我一直在尝试使用 wait() 和 notify() 解决涉及线程通信的问题.基本上我有 2 个线程 T1 和 T2,我希望它们按以下顺序执行 T1,T2,T1,T2 .....我怎样才能做到这一点? 实际问题:有 2 个线程 T1 - 打印奇数(比如 1 - 100)和 T2 - 打印偶数(1 - 100).现在,输出应该是 1, 2, 3, 4 , 5 , .... 100 ..
发布时间:2022-01-22 20:36:10 Java开发

对 pthread 互斥体所涉及的完整内存屏障的说明

我听说在处理互斥体时,必要的内存屏障由 pthread API 本身处理.我想了解有关此事的更多详细信息. 至少在最常见的架构上,这些说法是否属实? 编译器是否识别此隐式屏障,并在生成代码时避免重新排序操作/从本地寄存器读取? 什么时候应用内存屏障:成功获取互斥锁后和释放后? 解决方案 POSIX 规范列出了必须"与其他线程同步内存",包括pthread_mutex_lock() ..
发布时间:2022-01-22 20:36:00 其他开发

这个典型的羊群示例是如何工作的?

当必须通过文件系统同步程序(shell 脚本)时,我发现基于 flock 的解决方案是 推荐(也应该在NFS上工作).在脚本中使用的规范示例(来自 http://linux.die.net/man/1/flock) 是: (羊群-s 200# ... 在锁定下执行的命令 ...) 200>/var/lock/mylockfile 我不太明白为什么整个结构可以确保原子性.特别是,我想知道 flo ..
发布时间:2022-01-22 20:35:21 服务器开发

Java 的 final 字段值的“最新"保证是否扩展到间接引用?

Java 语言规范在 中定义了 final 字段的语义第 17.5 节: final 字段的使用模型很简单.在该对象的构造函数中设置对象的最终字段.在对象的构造函数完成之前,不要在另一个线程可以看到它的地方写对正在构造的对象的引用.如果遵循这一点,那么当另一个线程看到该对象时,该线程将始终看到该对象的最终字段的正确构造版本.它还将看到至少与最终字段一样最新的最终字段引用的任何对象或数组的版本 ..
发布时间:2022-01-22 20:33:52 Java开发