gpt4 book ai didi

java - ExecutorService hibernate 线程池中的所有线程

转载 作者:行者123 更新时间:2023-11-30 03:46:37 25 4
gpt4 key购买 nike

我在使用ExecutorService时遇到问题,理想情况下我正在寻找一种解决方案来 hibernate 线程池内的所有线程(使用Adwords API,在推送一些广告时,我收到速率超出错误我捕获该线程,然后 hibernate 该线程,但其他线程不知道该错误,并且仍然以超出响应速率的方式命中 API,这会增加等待时间,直到可以处理另一个请求)。

有什么简单的方法可以同时 hibernate 所有线程吗?我试图找到任何解决方案,我心里有一个解决方案,但我确信那里存在类似的东西。

感谢您的帮助,祝您有美好的一天。

最佳答案

一个线程无法“hibernate ”另一个线程,即使有可能,这也不是一个好主意。线程应该合作

如果您使用 ExecutorService,则意味着存在一个任务队列。最简单的解决方案是限制将任务放入队列的速率。

另一种解决方案是创建一个所有任务都知道的全局“节流”对象。它有一个方法,每个任务都可以调用该方法来等待,直到可以开始。您需要考虑一下该对象是如何同步的:如果您试图实现的最大速率很高,那么简单的全局锁可能会成为一个重要的瓶颈。

关于java - ExecutorService hibernate 线程池中的所有线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25505406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com