2012-04-02 49 views
0

我有一個可能被多個應用程序使用的api。我想規範我的API,以便每個應用程序只處理固定數量的請求。假設應用程序。 X給出了大約30個請求,我允許這個特定的應用程序使用我的api。所以我只允許20個線程並將其他標記爲等待,對於所有apis都應該做類似的事情。處理api中的線程數

什麼是最好的方法來做到這一點。

+0

我們是在談論Web服務API,像以下Java EE容器? – 2012-04-02 09:59:08

+0

是的。你有什麼想法來實現它嗎? – PrabhaT 2012-04-03 08:37:05

+0

並非如此,只是試圖幫助您將問題引導至更好的答案。 「api」是一個相當廣泛的術語。 – 2012-04-03 15:19:18

回答

0

你在找什麼叫做信號量。 Java中的類是

java.util.concurrent.Semaphore 

創建一個信號量,在

mysem = new Semaphore(20); 

那麼你的API在你的

void myAPI() { 
     mysem.acquire(); 
     //My API logic comes here 
     finally { 
      mysem.release(); 
     } 
    }