Как ограничить время выполнения задачи в потоке?
От: Аноним  
Дата: 26.03.13 08:04
Оценка:
Есть клиент-серверная архитектура. Задача стоит в том, как ограничить время ответа сервера и прервать выполнение долгой задачи.
Пример:
class ITask
{
public:
    virtual void run() = 0;
};


таски кладутся в очередь пула потоков (или потока, не важно) когда приходит запрос от клиента. Дальше таска выполняется и мы посылаем клиенту ответ.
Если таска выполняется больше, к примеру, 5-ти секунд, то надо прервать работу потока и послать клиенту ответ с ошибкой.
Есть ли готовые решения данной проблемы? Если нет, то как бы по грамотнее решить её своими велосипедами?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.