0

リクエストを処理し、複数のキューに追加/削除するマルチスレッドサーバーがあります。このサーバーは、REST呼び出し用のAPIを提供します。私のデザインは次のとおりです(擬似コードで):

postRequest(queueName)
{
   lockmutex
   if(exist?(queueName))
      //process request add data to queue
   else
     //create queue and process request
   unlockmutex
}

getRequest(queueName)
{
   lockmutex
   if(exist?(queueName))
      //process request to queue
   else
     //create queue and process request
   unlockmutex
}

deleteRequest(queueName)
{
   lockmutex
   if(exist?(queueName))
      //process request 
   else
     //create queue and process request
   unlockmutex
}

私の問題は、ほとんどのコードでミューテックスをロックしているため、マルチスレッド化によってそれほど高速にならないことです。キューの追加/削除時に複数のスレッドを同期する他の方法はありますか?ユーザーからのREST呼び出しを処理する必要があるため、これらのキューからデータがどのように追加/削除されるかを予測する方法がないことに注意してください。

4

0 に答える 0