我正在尋找一種方法來限制對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