jjzjj

java - 多线程的最佳替代方案是什么?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭7年前。Improvethisquestion目前我们在我们的应用程序(Java)中使用线程。但是一次会创建大约1000个(或更多)线程。这些线程应该处理数据并将其存储在数据库中。这会消耗更多内存和I/O。对此最好的选择是什么?。可扩展性、一致性和性能是主要要求。

java - 我可以为某些 Actor 的自动名称添加前缀吗?

我有一些Akka项目,我有以下场景:我有很多Actor,我希望有一个人类可读的名字,但与此同时,我不想为每个Actor生成唯一的名字我一个人。那么,有没有一种方法可以让Prop或Actor系统为自动生成的名称添加特定字符串前缀?例如,我有一些ActorMaster创建了一些Worker类型的child。我希望每个child的名字都以“worker-”开头,这样我就可以轻松地在日志中跟进。另外,如果可能的话,我想知道是否有其他方法可以更细粒度地命名Actor。提前致谢。编辑:这是我想要的示例目前,据我所知,您有两个选择:1)使用自动生成的名字创建actorActorRefmyActor=

java - 覆盖绘图顺序 scene2D 的舞台

您在libgdx中得到了一个复杂的Scene2D图,其中包含多个Group's和Actor's。您希望用户选择一些Actor并在最后绘制它们,以便它们看起来集中在任何其他Actor之上。我想遍历Stage两次。第一次绘制未选中的Actor,第二次绘制选中的actors。然而,我没有看到任何“好”的方式来强制执行此行为。我更喜欢干净的选项。我不想为了这个小的添加而复制整个方法实现。什么不起作用:Actor的toFront()方法仅适用于它的sibling。在舞台中交换Actor的位置:这会修改Actor的转换。要考虑的场景:您有一个Root,其中有一个组gA和一个组gB。GroupgA包

java - 尝试在我的 Play2 应用程序中利用 Akka future 和发挥 promise

在阅读play2文档时,我发现了这一点:BecauseofthewayPlay2.0works,actioncodemustbeasfastaspossible(i.e.nonblocking).Sowhatshouldwereturnasresultifwearenotyetabletocomputeit?Theresponseshouldbeapromiseofaresult!哇!这当然让我对playakka产生了兴趣。和akka.我目前正在构建一个与elasticsearch集成的自动完成应用程序,所以这将是一个完美的选择!Controller:publicclassAutoCo

java - 我应该使用 Java 中的哪个线程池?

有大量的任务。每个任务都属于一个组。要求是每组任务应该像在单线程中执行一样串行执行,并且吞吐量应该在多核(或多cpu)环境中最大化。注:还有海量组,与任务数量成正比。天真的解决方案是使用ThreadPoolExecutor和同步(或锁定)。但是,线程会相互阻塞,吞吐量不会最大化。有更好的主意吗?或者有没有第三方库可以满足要求? 最佳答案 一种简单的方法是将所有组任务“串联”为一个super任务,从而使子任务连续运行。但这可能会导致其他组延迟,除非其他组完全完成并在线程池中腾出一些空间,否则这些组不会启动。作为替代方案,请考虑将一组任

java - 如何知道 Actor 是否空闲

我有未知数量的工作要由已知(当然)数量的Actor执行。Actor完成工作后,初始工作数量可能会增加。也就是说,一个参与者在完成其任务后,可能会添加一个要执行的新作业。我处理这个问题的方法是让每个actor在完成其工作后向master发送一条消息,不仅包含执行结果,还带有一个“标志”,表明该actor现在处于空闲状态。master有一个作业队列和一个空闲actor队列,每当一个actor发送“作业完成消息”时,master就会检查该actor是否还有其他事情要做......等等,直到作业队列是空的,闲置队列已满...那时我关闭了系统。这里没有太多的监督,所以我觉得我做的不对...我没有

java - Actor 名字不是唯一的 - AKKA

我在JAVA中使用Akka2.10。我有一个为我获取Actor引用的方法-或者创建一个(如果之前没有)-但有时当我尝试创建一个时,我收到以下异常:akka.actor.InvalidActorNameException:actorname[]isnotunique!atakka.actor.dungeon.ChildrenContainer$NormalChildrenContainer.reserve(ChildrenContainer.scala:130)atakka.actor.dungeon.Children$class.reserveChild(Children.scala:

java - 在 AKKA 中,调用 supervisor 的 shutdown 会停止它所监督的所有 actor 吗?

假设我有一位主管已关联2位Actor。当我的应用程序关闭时,我想优雅地关闭那些Actor。调用supervisor.shutdown()会停止所有actors还是我仍然需要手动停止我的actors?谢谢 最佳答案 Stoppingasupervisor(调用Supervisor.stop())停止所有链接的(受监督的)actor:finalclassSupervisorActor{...overridedefpostStop():Unit=shutdownLinkedActors然而,当你想优雅地关闭系统中的所有参与者时,还有另一个

java - 如何实现多个 'threads'只在一个线程中运行

最近我一直在想:他们如何在一个线程中实现多个“线程”?我的意思是,他们如何在一个线程中实现多段并行运行的代码?他们如何保存“线程”的状态、创建中断并将CPU传递给下一个线程?我认为ScalaActor实现了这一点。但是如何呢?这个对于JVM或者C都可以回答,没关系。我真的很想了解它的理论。 最佳答案 我觉得你很困惑coroutines和greenthreads在这里。协程在准备执行时放弃控制,没有任何中断,所以中断的问题在这里无关紧要。Scala参与者作为协程实现。绿色线程是虚拟机在不使用native操作系统功能的情况下实现的用户模

java - 在 Akka actor 中处理异常的最佳实践

我有以下任务,对此我有Java/Executors解决方案运行良好,但我想在Akka中实现相同的功能并寻找最佳实践建议。问题:从多个URL中并行获取/解析数据,阻塞直到所有数据被获取并返回聚合结果。应该重试错误(IOException等)达到一定次数。到目前为止,我的实现非常简单——创建知道应该获取哪些URL的Fetcheractor,它创建一堆Workeractor并向它们发送URL,每条消息一个。完成特定URLWorker后,将消息连同结果发送回Fetcher。Fetcher保持结果状态,Workers无状态。下面是简化的代码。getter:classFetcherextendsU