LINUX.ORG.RU

вопрос в ракурсе систематизации подхода

Присоединяюсь к вопросу. Хотя опыт есть: MQ сервер на eventlet, много gtk кода, который qtшники писали бы с использованием потоков и объектов для хранения состояния.

baverman ★★★
()
Ответ на: комментарий от baverman

>много gtk кода, который qtшники писали бы с использованием потоков и объектов для хранения состояния.

а что мешало написать то же самое с использованием потоков и объектов для хранения состояния на gtk? :)

yoghurt ★★★★★
()

Самый красивый вариант, что мне известен, это epoll + eventf + aio_ с callback.

Могу дать прототип patche для libev.

catap ★★★★★
()
Ответ на: комментарий от catap

Да, в минусах, для linux нужно открывать только с O_DIRECT. Сделать нормально, я давно мечтаю, да все повода нет.

В случае freebsd можно сделать корректно, просто руки не доходят.

catap ★★★★★
()
Ответ на: комментарий от yoghurt

а что мешало написать то же самое…

Люблю функциональный подход и по-возможности стараюсь всё состояние выносить в аргументы функций, как правило потом не нужна синхронизация, что значительно упрощает систему.

Ну и в pygtk поток должен постить события через idle или оборочивать вызовы в специальные гварды, а выглядит это достаточно мерзко.

baverman ★★★
()
Ответ на: Re от cvv

Я очень далек от низкого уровня, поэтому ничего порекомендовать не могу.

Только знаю, что есть libevent и на нем много кто свои, более абстрактные лупы делает. Стандарт де-факто, можно сказать.

baverman ★★★
()
Ответ на: комментарий от baverman

libevent это собственно цикл. А мне надо стратегию реализации автомата который будет в колбеке который будет вызыватся из той же libevent.

cvv ★★★★★
() автор топика
Ответ на: комментарий от cvv

А мне надо стратегию реализации автомата который будет в колбеке

Тебя интересует диспатчер, сидящий поверх цикла (если таковой вообще будет иметь место) или уже конкретные конечные обработчики? Если последнее, то смущает постановка вопроса. Автомат он как бы и в африке автомат, возможности определяются сигнатурой колбека и интерфейсом цикла(диспатчера). Я не думаю что можно набрать много материала по общим положениям абстрактной event-driven системы.

baverman ★★★
()
Ответ на: комментарий от baverman

гугль теории находит немало, а вот соображений по реализации практически нету.

cvv ★★★★★
() автор топика
Ответ на: комментарий от pathfinder

это значит что автомат состоит из цепочки состояний в которой нельзя перескакивать через узлы.

cvv ★★★★★
() автор топика
Ответ на: комментарий от tnodir

Спасибо - это интересно и по теме.

cvv ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.