0
我有一個可能被多個應用程序使用的api。我想規範我的API,以便每個應用程序只處理固定數量的請求。假設應用程序。 X給出了大約30個請求,我允許這個特定的應用程序使用我的api。所以我只允許20個線程並將其他標記爲等待,對於所有apis都應該做類似的事情。處理api中的線程數
什麼是最好的方法來做到這一點。
我有一個可能被多個應用程序使用的api。我想規範我的API,以便每個應用程序只處理固定數量的請求。假設應用程序。 X給出了大約30個請求,我允許這個特定的應用程序使用我的api。所以我只允許20個線程並將其他標記爲等待,對於所有apis都應該做類似的事情。處理api中的線程數
什麼是最好的方法來做到這一點。
你在找什麼叫做信號量。 Java中的類是
java.util.concurrent.Semaphore
創建一個信號量,在
mysem = new Semaphore(20);
那麼你的API在你的
void myAPI() {
mysem.acquire();
//My API logic comes here
finally {
mysem.release();
}
}
我們是在談論Web服務API,像以下Java EE容器? – 2012-04-02 09:59:08
是的。你有什麼想法來實現它嗎? – PrabhaT 2012-04-03 08:37:05
並非如此,只是試圖幫助您將問題引導至更好的答案。 「api」是一個相當廣泛的術語。 – 2012-04-03 15:19:18