问题标签 [threadpool]

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 回答
1176 浏览

ruby - 线程还是 DRb?

我需要有 2 个(或者可能是 3 个)在 Ruby 中连续运行程序的“方面”——一个通信线程、一个渲染线程,也许还有一个缓存线程。

这个想法是渲染线程显示幻灯片(其定义是从文件中读取的),并且所有幻灯片都由通信线程从远程 HTTP 服务器检索。渲染必须连续且不间断(因此可能需要缓存)。该文件可能会在程序的生命周期中发生变化,因此需要重新解析(动态)。

我想在“方面”之间发送消息,例如当通信线程获取节目的整个“章节”时,渲染线程可以在等待整个节目下载之前启动,等等。

我应该使用 Ruby 线程还是 DRb?如何在线程之间传递消息?

感谢您的任何反馈!

0 投票
1 回答
1506 浏览

c++ - 如何将Boost线程池从fifo转换为优先级?

我正在研究 Boost 线程池。

我有这样的结构:

当我需要一个线程时,我会这样称呼它:

它有效。

问题是:如何将此线程池从 fifo 转换为优先级?

我将所有内容都更改fifo\_poolprio\_pool,但我无法做到这一点 - 它没有用。我有一些错误。

在这种情况下我该如何使用prio_pool

我想我必须使用prio_task_func而不是一个类,但我想为此目的重新使用我现有的算法。

0 投票
3 回答
741 浏览

java - 从 Servlet(或过滤器)访问 Tomcat 内部

我想从 servlet(或过滤器)访问 Tomcat 内部数据。特别是,我想从线程池管理器中阅读有关繁忙线程的信息。所以,我的问题是是否有可能(我可以想象出于安全原因它可能会被阻止)?如果可能的话,也许有人可以给我任何建议从哪里开始(一些入口点单例等)?

我知道,我可以通过 JMX 检索这些信息。但我更喜欢直接 API(因为 JMX 可能很重,不是吗?)。

0 投票
2 回答
549 浏览

c# - C# 线程池 HttpWebRequests

我已经阅读并查看了很多关于 Threadpooling 的示例,但我似乎无法按照我需要的方式理解它。我设法得到的工作并不是我真正需要的。它只是在自己的线程中运行该函数。

我想要做的是有大约 50 个线程(可能更多)来获取包含玩家统计信息的序列化 php 数据。从用户 0 一直到我指定的用户 ID (300,000)。我的问题不是关于如何获取统计信息我知道如何获取统计信息并阅读它们,而是我如何编写一个线程池,它将继续获取统计信息直到它达到第 300,000 个用户 ID 而不会踩到其他线程的脚趾和在检索到数据库时保存统计信息。

0 投票
5 回答
2331 浏览

c# - 如何连续 QueueUserWorkItems 但不一次将它们全部排队?

我正在为网站开发多线程抓取工具,根据另一个问题,我决定将 ThreadPool 与 QueueUserWorkItem() 一起使用。

我怎样才能不断地排队工作项而不是一次将它们全部排队?我需要排队 > 300k 个项目(每个用户 ID 一个),如果我循环将它们全部排队,我将耗尽内存。

所以,我想要的是:

在此期间,webScraper 在线程可用时不断添加所有 300000 个工作项。

这是我到目前为止所拥有的:

这是正确的方法吗?

有人能指出我在调用 Start() 后在后台处理创建工作项的正确方向,而不是一次创建所有工作项吗?

0 投票
3 回答
1589 浏览

multithreading - 线程过多异常

我在黑莓开发中遇到问题。在我的应用程序中,我必须从服务器获取图像,因此我必须为从服务器加载的每个图像创建一个单独的连接线程。但这样做我得到了 TooManyThreadsException ..关于控制线程的任何想法......

在黑莓中,一个应用程序最多可以同时运行 16 个线程......但我必须一次显示超过 16 个图像......

0 投票
3 回答
3765 浏览

java - 指定 ThreadPoolExecutor 问题

有什么方法可以创建至少有 5 个线程、最多 20 个线程以及任务的无界队列(意味着没有任务被拒绝)的 Executor

我尝试ThreadPoolExecutor(5, 20, 60L, TimeUnit.SECONDS, queue) 了所有我为队列想到的可能性:

没有一个按要求工作。

0 投票
2 回答
5444 浏览

java - Java服务器的单线程池还是多线程池?

我正在编写一个相当复杂的 Java 服务器应用程序,除了通常的请求响应处理之外,它还有一个重要的后台处理部分。一些后台处理是使用 Quartz 框架以类似 cron 的方式完成的。其他任务更多的是按需执行 - 如果新客户端连接它会创建额外的工作以不时更新它。cron 任务也可以是多种多样的——一些监视外部应用程序,一些计算统计等等。

我正在使用多个线程池来运行所有这些作业,并认为类似的作业将共享一个线程池,但不同的作业不会共享一个。例如,监控作业永远不会在统计池上运行,统计作业永远不会在监控池上运行。

另一方面,我知道有些人宁愿只拥有一个线程池并在其上运行所有内容而无需任何分离。

我想知道在这种情况下什么被认为是最佳实践。

分离线程池的优点和缺点是什么?

这还重要吗?

0 投票
1 回答
9961 浏览

multithreading - IIS 上下文中的线程池

在 IIS 上的 Web 应用程序中运行时,我有一个关于 System.Threading.Threadpool 的一般性问题。假设我们有 2 个请求同时执行,我们通过 ThreadPool.QueueUserWorkItem 方法启动了几个线程。这两个请求会共享 ThreadPool,还是两个请求对 ThreadPool 的调用会在两个单独的池中运行?

这是在 IIS6 和 7 中。

感谢您的任何见解。

0 投票
2 回答
4909 浏览

c# - 清除线程池

我正在使用 C# 在 Visual Studio 2008 中开发我的第一个 ThreadPool 应用程序。

我有一份报告,必须使用 SQL Server 上的数据对 2000 到 4000 个零件进行计算。

我在 ThreadPool 中排队所有的零件编号,他们在那里计算他们的结果。当这些线程完成后,RegisterWaitForSingleObject 事件将触发以取消注册队列项的句柄。

在所有 Queued Items 完成后,有没有办法将它们从 ThreadPool 中删除?

看起来,如果有人使用一组新的 2000 到 4000 个零件运行另一个报告,我无法删除以前的零件数组。

我将如何删除先前排队的项目?使用 workerThreads = 0 调用 SetMaxThreads 会这样做吗?

我意识到我可以做实验,但是我可以把一周的大部分时间都浪费在做实验上。

谢谢你的时间,