Comments 9
Главное чтобы патчи отослали :)
0
>ну скажем, раз в 100мкс (сто микросекунд)
С порядком не ошиблись?
С порядком не ошиблись?
0
>(some_struct*)malloc(sizeof(*p));
Это корректная конструкция, sizeof — не функция, разыменования указателя она не делает.
Это корректная конструкция, sizeof — не функция, разыменования указателя она не делает.
+2
все конечно круто, но я бы возможно поступил бы проще:
1) не использовал Hiredis, раз с ним такие проблемы (а это можно было ожидать, так как многие либы не поддерживают мультитредовость)
протокол редиса довольно простой и его с легкостью можно было реализовать самому, затратив часов 6-8
2) использовал мультитредность, запустил n — тредов на постоянное соединение с редисом,
в этом случае можно не использовать неблокируемый ввод/вывод и сборка значительно упростится.
Можно реализовать неблокируемый в/в, но это немного сложнее.
Конечно прежде всего очень многое зависит от специфики задачи и выбранной архитектуры приложения, мне трудно что-либо советовать или рассуждать со стороны.
1) не использовал Hiredis, раз с ним такие проблемы (а это можно было ожидать, так как многие либы не поддерживают мультитредовость)
протокол редиса довольно простой и его с легкостью можно было реализовать самому, затратив часов 6-8
2) использовал мультитредность, запустил n — тредов на постоянное соединение с редисом,
в этом случае можно не использовать неблокируемый ввод/вывод и сборка значительно упростится.
Можно реализовать неблокируемый в/в, но это немного сложнее.
Конечно прежде всего очень многое зависит от специфики задачи и выбранной архитектуры приложения, мне трудно что-либо советовать или рассуждать со стороны.
0
Sign up to leave a comment.
Redis, hiredis, libev и multithread. Часть 2