首页 文章
  • 0 votes
     answers
     views

    如何在Qt 5.2中将QTcpSocket传递给QRunnable

    我试图通过使用QRunnable和QThreadPool而不是每个连接1个线程,以可扩展的方式使用Qt 5.2编写tcp服务器 . 我遇到的问题是在QRunnable :: run中创建的套接字在创建它时设置了连接状态并设置了它的套接字描述符,但调用readAll()以响应readyRead信号会产生一个空缓冲区,即使我知道我发了一些数据 . 我尝试将套接字从主线程传递到QRunnable的两种方...
  • 1 votes
     answers
     views

    带有rabbitMQ使用者和WebApi调用的多线程循环 - WebApi响应永远不会返回

    我有一个多线程Windows服务,它消耗Rabbit队列中的消息并根据消息内容发送电子邮件 . 当兔客户端在启动时初始化时,它会使用最小值和最大值限制Threadpool线程 . 对于从队列中取出的每条消息,服务正在使用 HttpClient GetAsync 方法向web api服务发送HTTP请求以检索电子邮件地址 . 问题是请求转到数据服务,但响应永远不会回来 . Windows服务不...
  • 3 votes
     answers
     views

    如何限制并发线程数

    在 VIDEO_URL 中,有数千个视频要下载 . 我想使用线程来完成这项工作,但一次最多限制为十个线程 . 我怎么能重写以下代码才能得到它? VIDEO_URL.each do | video | @workers << Thread.new{dl_video(video)} end @workers.each { |t| t.join } 更新 工作线程超过10后,gem ...
  • 0 votes
     answers
     views

    在Java中向线程池中添加新任务之前等待任务完成的最佳方法?

    我想使用类似ThreadPoolExecutor的东西来管理在可用线程上运行一堆任务 . 这些任务都是相同的类型,但处理不同的帐户 . 可以定期添加这些帐户的新任务,我希望它能够检查并且不允许新任务开始,直到同一帐户的旧任务已经完成 . 最好的方法是什么? 示例 帐户“234”的任务已启动(通过ThreadPoolExecutor.execute()) 帐户“238”的任务已启动(通过Th...
  • 7 votes
     answers
     views

    当提交足够的任务时,修复了线程池线程阻塞

    我有一个需要并行计算许多小任务的过程,然后按照任务的自然顺序处理结果 . 为此,我有以下设置: 一个简单的ExecutorService和一个阻塞队列,我将使用它来保持在将Callable提交给执行程序时返回的Future对象: ExecutorService exec = Executors.newFixedThreadPool(15); LinkedBlockingQueue<Futur...
  • 1 votes
     answers
     views

    异步方法在哪里运行?

    我已经阅读了很多关于async-await模式的文章,但我仍然不确定 whether the async methods (the awaited methods) run on the UI thread or not . 我总是以SynchronizationContext类结束"async methods run in the same SynchronizationContex...
  • 0 votes
     answers
     views

    使用Task管理线程异常

    我正在我的主线程中创建一个任务来管理我的线程 . 我的目的是从AggregateException中受益,所以我希望我的任务在任务中启动的线程中发生异常时返回该异常,如下面的代码块所示 . public void ReportGeneratorFiveThreadTest() { var logger = new Log4NetLogger(typeof(ReportGeneratorTh...
  • 25 votes
     answers
     views

    ThreadPool.QueueUserWorkItem,带有lambda表达式和匿名方法

    将两个参数传递给线程池上的新线程有时会很复杂,但看起来使用lambda表达式和匿名方法,我可以这样做: public class TestClass { public void DoWork(string s1, string s2) { Console.WriteLine(s1); Console.WriteLine(s2); } } t...
  • 0 votes
     answers
     views

    读/写请求在Apache Cassandra中等待队列和等待时间

    我是Apache Cassandra的新手,我正在研究它 . 特别是等待队列长度和读/写请求的等待时间 . Apache Cassandra基于SDEA(Stage-driven-event-archetecture) . 这意味着对于每个请求,例如读取请求,它将被放入队列中进行处理 . 基于此,应该有等待队列的一些度量和每个请求的等待时间 . 根据此链接中的帖子:https://www.pyth...
  • 0 votes
     answers
     views

    Java将Java对象作为数据报包接收

    我想将一个对象作为UDP数据包发送,然后在服务器上接收该对象 . 我有客户端想出来,但我不能让服务器正确读取数据报 . 客户代码: public void sendMessage() { ByteArrayOutputStream bStream = new ByteArrayOutputStream(); try { ObjectOutp...
  • 0 votes
     answers
     views

    用Akka控制外部期货

    我一直在使用Akka,而且在更简单的项目中,只使用Scala 2.10期货 . 然而,有一天我不得不混合一个图书馆返回Futures和Akka Actors,我不知道如何整合Actor调度系统和失控的未来 . 在项目中使用Akka actor的选择是能够微调actor队列并控制代码的并行化,并且可能最终向外扩展(即使现在它不是优先级) . 但是,如果我有这样的代码(故意简化): package e...
  • 1 votes
     answers
     views

    线程池:如何从正在运行的任务中生成子任务?

    一个简单的线程池,具有全局共享任务队列(仿函数) . 每个工作者(线程)将从工作者中获取一个任务,并执行它 . 它不会执行下一个任务,直到完成 . 让我们想象一个大任务,需要生成子任务来生成一些数据,然后继续评估(例如,在保存到磁盘之前对大数组进行排序) . 任务代码的伪代码: do some stuff generate a list of child tasks threadpool....
  • 0 votes
     answers
     views

    限制并行运行的队列的使用者数量

    我正在使用队列,有两个线程 . 一个是Enqueue,另一个是Dequeue . 分别称为 生产环境 者和消费者 . 生产环境 可以是无限的 . 但我需要限制消费者同时运行 . 我读到了“任务并行库”和“Parallel.For” . 但我不确定我应该在这里实施它们的方式 . 请建议我 . 以下是一些代码段,供您更好地理解该问题 static void Main(string[] args) {...
  • 0 votes
     answers
     views

    Task.Run比ThreadPool.QueueUserWorkerItem更快吗?

    我将我的Xamarin.Android应用程序切换为使用async等待代替之前的ThreadPool.QueueUserWorker项目使用情况,并且它看起来虽然没有指标,但它更快!在Xamarin Android的这个新版本中显然可以进行其他优化但是我很好奇C#的立场(.NET 4.5),如果事实上Task.Run会更快,因为它是按需启动任务而不是排队线程池? 任何人都有异步等待的信息,并且比T...
  • 0 votes
     answers
     views

    在Go中实现作业工作者池

    由于Go没有泛型,所有预制解决方案都使用我不太喜欢的类型铸造 . 我也希望自己实现它并尝试以下代码 . 但是,有时它并不等待所有goroutines,我是否过早关闭了工作渠道?我没有任何东西可以从他们那里取 . 我可能也使用了伪输出通道并等待从它们获取确切的数量但是我相信以下代码也应该工作 . 我错过了什么? func jobWorker(id int, jobs <-chan string...
  • -4 votes
     answers
     views

    等待线程在java中的线程池中可用

    我在JAVA中使用executorservice进行线程池化 . 有没有一种方法可以让我在执行服务中的线程池中等待线程可用,并且仅在池中有可用线程时才继续
  • 3 votes
     answers
     views

    究竟是Java中的线程池在做什么?

    线程池像任何ExecutorServices一样,我们定义了一个大小为3的newFixedPool . 现在我有一个大约10000个可运行任务的队列 . 为了执行上述过程,我有这些疑虑 - 要执行上述过程,执行程序是否只允许任务中的3个线程一次运行? 池将携带3个线程,这3个线程仅负责执行所有10000个任务 . 如果它是正确的,单个线程如何运行不同的可运行任务,因为最终这些任务也是线程本...
  • 7 votes
     answers
     views

    Java线程池 Actuator 监视

    Java SE 6文档中的ThreadPoolExecutor类具有以下method: public int getActiveCount()返回正在执行任务的大致线程数 . 近似和积极执行在这里是什么意思? 如果在 getActiveCount() 之前,之中和之后有任何保证吗? 已从池中分配了N个线程以执行任务,并且 这些N个线程都不可用于进一步的任务分配, getActive...
  • 0 votes
     answers
     views

    WSO2分离器给出例外

    我在WSO2 ESB中有一个请求拆分器,但是如果我发送4-5个消息,我能够得到适当的响应 . 如果请求有让我说约10-15条消息我得到未处理的异常说 . 2014-09-09 13:02:50,548 Uncaught exception More TID [-1234] [ESB] [2014-09-09 13:02:50,548] ERROR - 未捕获的异常org.apache.ax...
  • 1 votes
     answers
     views

    ExecutorService按顺序执行runnable

    我正在使用带有newSingleThreadExecutor的 Actuator 服务来按顺序执行我的Runnable任务,但似乎不能保证串行执行顺序,因为某些时候任务是以随机顺序执行的 . executorService = Executors.newSingleThreadExecutor(); executorService.submit(MyTask1); executorService...
  • 0 votes
     answers
     views

    无法使用CTPL线程池库调用类方法

    我试图使用C++ Thread Pool Library (CTPL)来调用方法,但它没有编译 . class A { void doSomething(int& i) { i++; } } A a; int i; ctpl::thread_pool p(2); p.push(&A::doSomething, &a, i); 顺便说一句,最后一行是使用std :...
  • 2 votes
     answers
     views

    如何使程序不使用100%的CPU?

    有5个线程在无限循环中运行 . 当队列不为空时,其中2个将发送消息 . 其中4人将在5分钟内继续发送心跳 . 其中一个是从另一个来源请求数据 . 当它使用100%的CPU时,我不能在窗口中使用任何其他应用程序 . 整个窗口变得很慢 . EDIT: can sleep be put after WaitOne? if(autoEvent.WaitOne()) { } else { } Thread....
  • 0 votes
     answers
     views

    如何继续向执行者提交任务

    我一直在寻找一种情况的解决方案:我有一个HashSet of Callables,我将这个Set提交给执行程序进行并行执行 . 现在我希望任何提交的任务完成后,我应该能够为执行者分配一个新的Callable . 我尝试了这段代码,但是如果我使用executor.invoke,那么Executor会等到所有任务都完成,如果我使用executor.submit,那么任务就会按顺序完成 . 任何帮助,将...
  • 2 votes
     answers
     views

    从Java中的线程池中删除空闲线程?

    我正在使用固定大小的Java线程池(ExecutorService) . 假设我向线程池提交作业,作业空闲 . 是否有可能从线程池中删除空闲作业,以便可以处理队列中的其他作业,然后再次添加空闲作业?
  • 0 votes
     answers
     views

    具有主线程支持的 生产环境 者/消费者线程池 - 偶发死锁?

    我有一个C#线程池类,它基于https://stackoverflow.com/a/1656662/782181的 生产环境 者/消费者代码 . 注意:我'm doing this instead of using BlockingCollection because I' m坚持使用.NET2.0! 我在类中添加了一个函数,可以从主线程调用,以允许主线程做一些工作 . 我在这里的想法是,在某些时...
  • 0 votes
     answers
     views

    用于多个相同任务的Java ThreadPool

    我有一个线程,唯一的工作是从套接字中获取DatagramPackets并将它们粘贴在缓冲区中 . 另一个线程在该缓冲区之外工作,处理DatagramPackets . 我想在缓冲区中运行一个线程池 . 我曾想过使用固定的线程池来做到这一点 . 为此,我是否需要创建池,然后提交足够的runnables来执行以填充它?我曾经希望有一种说法“这是我希望你执行的线程/ runnable,这就是我想要运行的...
  • 4 votes
     answers
     views

    Threadpool中的Threadlocal内存泄漏

    我在Tomcat中遇到线程内存泄漏错误,我使用的是ThreadPool,但在我的webapp中没有ThreadLocal的实现 . 严重:Web应用程序[/ myWebApp]使用[org.a pache.http.impl.cookie.DateUtils $ DateFormatHolder $ 1]类型的键创建了一个ThreadLocal(值[org.apache.http.imp l.c...
  • 0 votes
     answers
     views

    获取错误FutureTask @ 2c7b84de在使用threadpool时被拒绝

    这是我的代码: class Processor implements Runnable { private int id; private Integer interaction; private Set<Integer> subset; private static volatile AtomicBoolean notRemoved = new At...
  • 0 votes
     answers
     views

    预定的Threadpool实现设计

    我正在探索Scheduled Threadpool如何工作的设计决策和内部逻辑? 我正在查看Scheduled Threadpool的源代码,但很难理解查看代码的选择和逻辑 . 是否有一个很好的博客或教程解释它是如何工作的以及它是如何实现的?
  • 0 votes
     answers
     views

    执行程序服务view.post(Runnable)

    我想启动几个线程,从网络中检索数据,用它执行一些操作,然后更改有关此数据的UI . 我正在使用 Actuator 服务 executorService = Executors.newFixedThreadPool(3); 所有的数据都得到了,但是当我尝试调用imageView.post时,它返回true但是没有执行关于Runnable的主体: Log.v("imageloader&qu...

热门问题