556得票9回答
如果我的接口必须返回Task,那么最好的方式是什么来实现一个无操作的实现?

在下面的代码中,由于接口的缘故,类LazyBar 必须从其方法返回任务(出于论证目的不能更改)。如果LazyBar 的实现不同寻常,它可以快速且同步运行 - 那么从该方法返回无操作任务的最佳方法是什么? 我选择了下面的Task.Delay(0),但我想知道如果函数被频繁调用(为论证目的,假设...

407得票13回答
有太多的线程会有什么影响?

我正在编写一个服务器,当接收到请求时,我会将每个动作都发送到单独的线程中。我这样做是因为几乎每个请求都会进行数据库查询。我使用一个线程池库来减少线程的构造/析构次数。 我的问题是:这种I/O线程的良好截止点是多少?我知道这只是一个大概的估计,但我们是在谈论数百个还是数千个? 我该如何确定这个截...

293得票20回答
ExecutorService的线程和线程池如何命名?

假设我有一个应用程序,它像这样利用了Executor框架Executors.newSingleThreadExecutor().submit(new Runnable(){ @Override public void run(){ // do stuff ...

243得票16回答
ExecutorService,如何等待所有任务完成

等待 ExecutorService 的所有任务完成的最简单方法是什么?我的任务主要是计算型的,所以我只想在每个核心上运行大量的作业。目前我的设置如下:ExecutorService es = Executors.newFixedThreadPool(2); for (DataTable si...

197得票12回答
C++11中的线程池

相关问题: 关于C++11: C++11: std::thread pooled? async(launch::async)在C++11中是否会使线程池成为过时的方法,以避免昂贵的线程创建? 关于Boost: C++ boost thread如何重用线程? boost::thre...

152得票11回答
线程 vs 线程池

使用新线程和使用线程池中的线程有何区别?有哪些性能优势,为什么应该考虑使用线程池中的线程而不是显式创建的线程?我在这里特别考虑.NET,但一般的例子也可以。

151得票6回答
如何从线程池中获取线程ID?

我有一个固定大小的线程池来提交任务(限制为5个线程)。如何找出这5个线程中哪一个执行了我的任务(类似于"第3个线程中的5个正在执行此任务")?ExecutorService taskExecutor = Executors.newFixedThreadPool(5); //in infini...

143得票1回答
C++11中的async(launch::async)是否使线程池在避免昂贵的线程创建方面变得过时?

这个问题与这个问题有些相关:C++11中std:: thread是否被池化? 尽管这两个问题不同,但意图相同: 问题1:仍然有必要使用自己的(或第三方库的)线程池来避免昂贵的线程创建吗? 其他问题的结论是,您不能依赖于std::thread被池化(可能会或可能不会)。 但是,std::as...

127得票15回答
何时在C#中使用线程池?

我一直在尝试学习C#中的多线程编程,但我对于何时最好使用线程池而不是创建自己的线程感到困惑。有一本书建议仅针对小任务使用线程池(无论这意味着什么),但我似乎找不到任何实际的指南。 线程池和创建自己的线程各有优缺点。它们的使用场景有哪些?

114得票9回答
在Java中,ExecutorService.submit和ExecutorService.execute在这段代码中有什么区别?

我正在学习使用ExectorService来池化threads并发送任务。我有一个简单的程序如下:import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.ut...