Re[3]: Дизайн пула потоков
От: Николай Ивченков  
Дата: 28.08.09 14:39
Оценка: +1
Alu:

СМ>>Это субъективные недостатки, а есть объективные?


Alu>Отсутствие ОО подхода для меня есть объективный минус.


Хорошо сказано

Интересно, где в этом IRunable ОО подход используется? По-моему, это всего лишь уродливый костыль для запуска потока. Поточная функция Run — это деталь реализации, и ей нечего делать в пользовательском интерфейсе объекта. А если внутренней реализации объекта нужно выполнить какую-то функцию (с передачей в неё всех необходимых данных) в отдельном потоке, то это можно сделать через нормальный функциональный объект — функтор (именно функторы в C++ служат для упаковки функций и данных в одно целое). Абстракция Callable, основанная на статическом полиморфизме, более гибкая, чем IRunable, т.к. не вынуждает пользователя наследоваться о каких-то классов и позволяет паковать функциональные объекты из составляющих прямо сходу (а-ля boost::bind).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.