问题标签 [shared-resource]

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.

0 投票
1 回答
2086 浏览

c++ - 类共享资源 - 正确的解决方案?

这不是作业,只是关于我的代码的问题(我正在学习 C++)。

我有该类的多个实例,Renderer它们都使用相同的资源,即由 SDL 加载的 BMP。这是管理班级共享资源的正确方法吗?如果没有,什么是好的?如果是,有更好的吗?

渲染器.hpp

渲染器.cpp

0 投票
1 回答
4282 浏览

python - 在两个进程之间共享资源

我想知道在 Python 中的两个进程之间共享队列(资源)所遵循的最佳实践。这是每个进程正在执行的操作:

Process_1:不断从流式 API 获取数据(以 json 格式)

Process_2:是一个守护进程(类似于 Sander Marechal 的代码),它将数据(一次一个)提交到数据库中

因此,Process_1(或生产者)将一个数据单元放到该共享资源上,而Process_2(或消费者)将轮询该共享资源以获取任何新的数据单元,并将它们存储在数据库中(如果有)。

我想到了一些选择:

  • 使用pickle(缺点:酸洗和去酸洗的额外开销)
  • 通过stdoutProcess_1 向stdinProcess_2 传递数据(缺点:无,但不确定如何使用守护进程来实现)
  • 使用库pool中的对象multiprocessing(缺点:不确定如何将其编码为一个进程是守护进程)

我想要一个在这方面实践的最佳解决方案,带有一些代码:)。谢谢。

0 投票
8 回答
1224 浏览

java - java同步方法入口点线程是否足够安全?

我有一个 Singleton 类处理一种在 Hashmap 中具有不同对象的缓存。(键的格式直接链接到存储在映射中的对象类型 - 因此映射是 )

地图上可能有三种不同的操作:添加、获取、删除。

我使用公共入口点方法(无密集访问)保护了对地图的访问:

笔记:

地图是私人的。方法 addDataToMyMap()、getDataFromMyMap() 和 removeDataFromMyMap() 是私有的。只有入口点方法是公共的,除了类本身的静态 getInstance() 之外别无其他。

您是否确认并发访问地图是线程安全的,因为除了通过该方法之外没有其他方法可以使用地图?

如果地图是安全的,我想这个原则可以应用于任何其他类型的共享资源。

非常感谢您的回答。

大卫

0 投票
4 回答
114911 浏览

ios - iOS - 确保在主线程上执行

我想知道如何function主线程上调用我的。

如何确保我在主线程function上被调用?

(这遵循我以前的问题)。

0 投票
1 回答
73 浏览

c# - 如何设置资源锁定的到期时间?

我的程序将使用共享资源,因此需要锁定该资源。

当启动此资源上的处理任务时,它将获得对该资源的锁定。当它完成时,它将释放锁。

为了应对处理任务期间的崩溃和电源故障,这将使锁永远保持打开状态,锁应该有一个到期时间。

如果执行涉及资源的处理任务所花费的时间通常在 0 到 5 秒之间,我认为到期时间应该在 10 分钟甚至 1 小时左右。

那么我应该如何满足处理任务实际上比到期时间更长的异常情况呢?

任务本身的到期时间是否应该小于锁的到期时间?

0 投票
1 回答
202 浏览

wpf - 如何在 ListBox 项实例之间共享资源?

我们有一个自定义渲染的 ListBox,它维护一个基于其宽度的 StreamGeometry 对象的实例。然后,该控件需要将该 StreamGeometry 实例与其所有项目共享以进行渲染。

我们能想到的唯一方法是将 StreamGeometry 实例放在 ListBox 的 ViewModel 中,然后在各个 DataTemplates 中绑定到它,考虑到这是一个仅限视图的东西,因此不应该在 ViewModel 中全部。

注意:我们也可以通过 ListBox(或 ListBox 的子类)上的附加属性来存储它,但我们仍然需要绑定一个仅查看的东西,这对我来说似乎是错误的。

有什么想法吗?

0 投票
2 回答
1553 浏览

c# - Android和iOS跨平台字符串资源(MonoTouch & MonoDroid)

我正忙于使用 Xamarin 单声道库的跨平台移动应用程序,我遇到了以下情况......

我的 monodroid 项目 (strings.xml) 中有一堆字符串资源,这些资源正被我的布局和 C# 代码使用。

我想做的是将这些字符串资源移动到共享项目中的文件中,以便 iOS、Android 和 Windows 手机都能够使用它们。实现这一目标的最佳方法是什么?

*目前我正在使用包含非 UI 字符串的 Resource.resx 文件。然后我在 android(monodroid) 项目中有 strings.xml 文件来满足 UI 资源字符串的需求。

请记住以下几点:

  • 所有平台都必须使用相同的文件。
  • 我需要 android 布局也使用相同的资源。(目前是 strings.xml 文件)
  • 它最好是一个文件。

有什么意见吗?

0 投票
5 回答
234 浏览

java - 您如何创建和稍后访问应用程序级资源?

编辑:我正在尝试为 Web 应用程序的所有会话创建一个共享数据库连接池。另一篇文章说创建 servlet 上下文对象的最佳方法是让 init 侦听器创建它。然而,我不清楚如何使这个对象可供我的 servlet 使用。

0 投票
2 回答
3653 浏览

c# - PerformanceCounter 创建需要很长时间

我正在研究电荷平衡系统,因此我需要知道每台机器的电荷。PerformanceCounter 似乎是要走的路,但创建第一个需要 38 到 60 秒。然而,每个后续的新计数器或“NextValue”调用几乎都是即时的。

这是我正在使用的代码:

研究

PerformanceCounter 在连接远程服务器时非常慢

创建一个新的 System.Diagnostics.PerformanceCounter 非常慢

我尝试使用其他构造函数并给出精确的“MachineName”,但它并没有改变任何东西。

为什么调用 PerformanceCounter 很慢?

http://craigandera.blogspot.fr/2005/06/performancecounter-constructor-horribly_21.html

根据这两个线程,问题似乎与性能计数器是共享资源有关。但是我不明白我该如何解决。

在管理员中运行 Visual Studio 将第一次创建从 38 秒“加速”到 26 秒,因此它也不能解决问题。


谢谢你的帮助。

0 投票
2 回答
104 浏览

java - 在 Java Web 应用程序中共享资源

我有一个 Java 网络应用程序。随着时间的推移,它已经演变成真正应该是两个应用程序。有一些像 CSS 和 Javacript 文件的东西,尽管它们都不需要。有没有办法让它们共享,所以我不需要复制这些文件。

这是一些附加信息:

Java 1.7 使用在 Glassfish 4 中运行的 JSF