0

我有一个多线程服务器,它处理请求并从多个队列中添加/删除。该服务器为休息调用提供 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
}

我的问题是我几乎为大多数代码锁定了互斥锁,所以多线程并没有真正让它更快。是否有任何其他方法可以在添加/从队列中删除时同步多个线程,请记住,我必须处理来自用户的休息调用,因此无法预测如何从这些队列中添加/删除数据。

4

0 回答 0