Цитата(bmf @ Jun 9 2005, 20:41)
В доке к версии 2.0 такого обзаца нет.
Все есть. Дока версии 2.0, ревизия 22, страница 25.
Цитата(bmf @ Jun 9 2005, 20:41)
Думаю что как раз реализация семафора будет по коду гораздо меньше и эффективней чем TChannel и MemoryManager, а не наоборот, делать элементарный семафор из них. Ведь мы работаем при недостатке памяти и ресурсов.
Естественно, что семафор легче канала. Но у него и функциональность другая. Их нельзя сравнивать. Если реализовать ту же функциональность - т.е. кольцевой буфер (фифо) на основе семафора, то и получится где-то так же, если не хуже.
В версии 2, кстати, лучше уже не юзать TChannel (а MemoryManager'а там вообще нет - не нужен он стал при наличие подержки шаблонов). Есть шаблон channel, на нем все прекрасно реализуется и пользоваться им проще и безопаснее. Единственно, что надо помнить - это то, что на шаблонах очень легко и просто нагенерить горы кода. Поэтому тут надо прявлять осмотрительность (в частности, не городить каналы на объекты типов со значительным размером - ведь проталкиваение через канал производится путем копирования. Тут накладные расходы на копирование могут быть весьма неслабыми).
«Отыщи всему начало, и ты многое поймёшь» К. Прутков