问题标签 [concurrency]

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 投票
7 回答
26446 浏览

java - 如何使用固定数量的工作线程实现简单线程

我正在寻找实现以下内容的最简单、最直接的方法:

  • 主程序实例化工作线程来执行任务。
  • 只有n任务可以同时运行。
  • 达到时n,将不再启动任何工作线程,直到运行线程数回落到n.
0 投票
5 回答
1187 浏览

ruby-on-rails - 在 Ruby on Rails 中,线程、并发和分叉进程的当前状况是什么?

Ruby on Rails 不能很好地处理多线程请求响应,或者至少 ActiveRecord 不能。

在创建需要很长时间才能完成的 shell 命令的 Web 应用程序时,同时只有一个请求-响应处于活动状态的概念可能会很麻烦。

我想谈谈你对这类设置的一些看法?Rails 可能不适合某些应用程序吗?

此外,关于 Ruby on Rails 中的并发性,目前的状况是什么?什么是最佳实践。有没有针对缺点的解决方法?

0 投票
3 回答
707 浏览

database - MS Access 数据访问限制

我现在有一个项目,我希望能够从第 3 方产品用于存储其信息的 Access 数据库中提取行。可能会有少量用户在我的“导出”过程中同时访问这个数据库,所以我有点担心数据完整性和并发访问。

当我的 .NET 导入过程(使用 LINQ/ADO.NET/?)尝试在其他人保存行的同时尝试从 MDB 中提取数据时,我可能会遇到问题吗?Access 的锁定如何工作?

0 投票
2 回答
2991 浏览

django - Cherrypy 如何处理用户线程?

我正在开发一个 django 应用程序,我正在使用cherrypy 作为服务器。Cherrypy 为每个页面视图创建一个新线程。我希望能够从它们中的任何一个中访问所有这些线程(负责与 django 对话的线程)。更具体地说,我希望能够从其中任何一个线程中访问每个线程的 thread_data。这可能吗?如果是这样,我该怎么做?

0 投票
4 回答
1924 浏览

.net - 当 ThreadPool.QueueUserWorkItem 返回 false

MSDN 声明该方法返回

如果方法成功排队,则为 true;如果工作项未排队,则会引发 NotSupportedException。

出于测试目的,如何让方法返回false?或者它只是一个“次优”的类设计?

0 投票
2 回答
15435 浏览

c# - 异步 WPF 命令

注意:如果您想要完整的源代码,此问题中的代码是deSleeper的一部分。

我想要的命令之一是异步操作的烘焙设计。我希望在命令执行时按下按钮禁用,并在完成后返回。我希望在 ThreadPool 工作项中执行实际工作。最后,我想要一种方法来处理异步处理期间发生的任何错误。

我的解决方案是 AsyncCommand:

所以问题是:这一切有必要吗?我注意到内置了对数据绑定的异步支持,那么为什么不执行命令呢?可能和参数问题有关,这是我的下一个问题。

0 投票
4 回答
1467 浏览

java - Java 1.4 同步:只允许一个方法实例运行(非阻塞)?

我有一堂课建议翻译实用程序。翻译本身应每 30 分钟重新加载一次。我为此使用 Spring Timer 支持。基本上,我的课看起来像:

loadTranslations() 运行时间可能很长,因此在运行时旧的翻译仍然可用。这是通过在本地地图中加载翻译并在加载所有翻译时更改参考来完成的。

我的问题是:我如何确保当一个线程已经加载翻译时,第二个线程也尝试运行,它检测到并立即返回,而不开始第二次更新。

同步方法只会将负载排队...我仍在使用 Java 1.4,所以没有 java.util.concurrent。

谢谢你的帮助 !

0 投票
4 回答
3549 浏览

java - Java的数据流编程API?

我正在寻找适用于 Java 的数据流/并发编程 API。
我知道有DataRush,但它不是免费的。我特别感兴趣的是多核数据处理,而不是分布式的,这排除了MapReduceHadoop
有什么想法吗?
谢谢,罗洛

0 投票
6 回答
1943 浏览

c++ - 如何在 C++ 中使用任意字符串作为锁?

假设我有一个多线程 C++ 程序,它以函数调用的形式处理请求handleRequest(string key)。每次调用都handleRequest发生在一个单独的线程中,并且有任意大量的可能值key

我想要以下行为:

  • 当对 的同时调用handleRequest(key)具有相同的值时,它们将被序列化key
  • 全局序列化被最小化。

的主体handleRequest可能如下所示:

问题:我将如何实现KeyLock以获得所需的行为?

一个天真的实现可能会像这样开始:

...但这需要在每个请求的开始和结束时使用全局锁,并为每个请求创建一个单独的Lock对象。如果对 的调用之间的争用很高handleRequest,那可能不是问题,但如果争用很低,它可能会带来很多开销。

0 投票
3 回答
642 浏览

concurrency - 应用程序对象和并发问题

在一些像这样的asp 教程中,我观察到以下模式:

应用程序锁

'对应用程序对象做一些事情

应用程序.解锁

但是,由于网页可以有多个实例,因此存在明显的并发问题。所以我的问题如下:

如果一个页面在对象已经被锁定时试图锁定怎么办?

有没有办法检测应用程序对象是否被锁定?

只在未锁定的应用程序对象上工作会更好还是会产生其他后果?

如果只有一个动作涉及应用程序对象怎么办?〜在这种情况下有理由锁定/解锁吗?