我正在寻找一种方法来限制对java中的方法的访问,不超过每X秒一次。这里是我的情况:在java中的最短时间锁定
我想在多线程并行运行这段代码:
private MyService service;
public void run() {
// Send request to remote service
InputStream response = service.executeRequest();
// Process response
... some more code
}
的executeRequest()方法将HTTP请求发送到远程服务器(这是不是我的,我没有访问其实现)并等待来自服务器的响应。然后它会对数据进行一些处理。 我想有很多线程并行运行它。我的问题是,如果同时发送太多的请求,远程服务器将崩溃。所以我想要一些确保executeRequest()方法永远不会每秒调用一次的方法。
你知道我怎么能在java中做到这一点?谢谢
什么限制并发执行的数量和阻断新的呼叫,直到服务实例可用?您是否使用任何特定的技术为您的远程服务器? – Thomas
远程服务器不是我的。 MyService.executeRequest向远程服务器发送http请求并等待响应。我无法控制它。 – jonasr