多线程队列

时间:2013-02-18 16:56:04

标签: multithreading

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

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

0 个答案:

没有答案