问题标签 [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.
ruby - 线程池死锁
我找不到适合 Ruby 的 ThreadPool 实现,所以我写了我的(部分基于这里的代码:http://web.archive.org/web/20081204101031/http://snippets.dzone.com: 80/ posts/show/3276 ,但更改为等待/信号和其他实现 ThreadPool 关闭。但是在运行一段时间后(有 100 个线程并处理大约 1300 个任务),它在第 25 行因死锁而死 - 它等待新工作有任何想法,为什么会发生?
c# - 何时在 C# 中使用线程池?
我一直在尝试学习 C# 中的多线程编程,但我对何时最好使用线程池与创建自己的线程感到困惑。一本书建议仅将线程池用于小任务(无论这意味着什么),但我似乎找不到任何真正的指导方针。
线程池与创建自己的线程相比有哪些优缺点?每个都有哪些示例用例?
.net - 当 ThreadPool.QueueUserWorkItem 返回 false
MSDN 声明该方法返回
如果方法成功排队,则为 true;如果工作项未排队,则会引发 NotSupportedException。
出于测试目的,如何让方法返回false
?或者它只是一个“次优”的类设计?
.net - 使用异步委托或 ThreadPool.QueueUserWorkItem 进行大规模并行?
我有一个 .NET 应用程序,它在批量导入中处理大约 300,000 条记录,每条记录需要几秒钟,所以我想并行化它。ProcessWithAnsycDelegates()
在下面的代码中,和有什么区别ProcessWithThreadPool()
?
.net - 线程与线程池
使用新线程和使用线程池中的线程有什么区别?有哪些性能优势,为什么我应该考虑使用池中的线程而不是我明确创建的线程?我在这里专门考虑.NET,但一般示例很好。
multithreading - 在 powershell 中使用 system.thread.threadpool
我在使用线程池的powershell中的一些代码示例之后。我在谷歌的朋友帮不了我。任何例子都会很棒。
唐纳德
c# - 线程池导致 GUI 冻结(?)
我注意到,如果我的 IO 密集型应用程序的 ThreadPool 最大线程数设置得太低 (16),那么我的 GUI 将冻结。但是如果我将它设置得更高(250),它就可以了。
谁能解释这种现象?
ruby-on-rails - backgroundrb thread_pool.defer 方法记录器输出到哪里去?
似乎由于线程问题 logger.warn (这就是我测试的)没有产生任何输出?我的代码与此类似:
任何想法?
c# - .NET 中的通用线程池
对于我来说,这是一个相对常见的任务,而且我认为对于许多 .NET 程序员来说:
我想使用 .NET ThreadPool 来调度需要处理给定类型任务的工作线程。
作为复习,ThreadPool 的队列方法及其关联委托的签名是:
因此,典型的通用工作线程类看起来像:
注意state
参数的类型?是Object
!
QueueUserWorkItem
.NET 团队选择不使方法(或整个ThreadPool
类)通用的令人信服的原因是什么?我不敢相信他们只是忽略了它。
这是我希望看到的方式:
这将使工人类类型安全(并且更清晰,恕我直言):
我肯定错过了什么。
java - java fixedThreadPool 可以被多个线程使用吗
我有一个 Web 服务,它在返回结果之前会进行多次小计算。我想使用ExecutorService
提供Executors.newFixedThreadPool()
的方式来实现 Master - Worker 模式(即调用invokeAll
并让线程等待所有结果完成)。理想情况下,所有 web 服务线程都使用相同的执行器服务,这样它们就不必都创建自己的线程池,它们可以共享一个用完系统所有处理时间的大池。
我对这种方法有疑问:
invokeAll
从多个线程访问函数是否安全。- 执行程序服务是否会按顺序处理请求(即首先来自线程 1 的所有任务,然后是线程
- 有没有办法说 10 个工作线程,并且可用的最大线程数取决于传入的请求数,所以假设我们有 1 个请求,它使用所有 10 个线程来处理该请求。如果您有 2 个请求,则每个请求将它们拆分为 5 个线程等。