Здравствуйте, Selavi, Вы писали:
S>...выполнено слабо S>К сожалению, добиться обратной связи на тему "что именно слабо" не удалось.
S>Пожалуйста, покритикуйте реализацию.
1. комментариев нет от слова совсем
2.
int Size()
{
std::lock_guard<std::mutex> lock(this->mutex);
return container.size();
}
вместо int должен быть хотя бы size_t
3. TaskDer зачем-то засунут в Task.h
4. Смысл существования task.cpp непонятен, возникает вопрос понимает ли автор, что он делает. (хотя, наверное, это следствие п. 3)
5. использование голых указателей и C++0x в одном проекте. Трусы или крестик.
непонятно зачем частично инициализируем обьект в init list, частично в теле конструктора.
7. Класс, в котором есть голые указатели и отсутствие для этого класса copy ctor и operator=
8. \r\n вместо std::endl
9. Библиотечные классы, выводящие debug-данные на консоль без возможности отключения.
10. "не должно быть подвисших клиентов даже если клиентов больше, чем потоков" — требование, которое невозможно соблюсти в текущей формулировке задания и API. Ваш код и комментарии не говорят об этом ни слова, вместо этого вы придумали эвристику, которая не работает.