в приложении на отдельные куски явно завожу отдельный поток, в котором создаю новый рантайм токио, который single-threaded, чтобы потом спокойно Rc использовать и не париться по поводу Sync/Send, ну и стейтом легко управлять было, ибо всегда есть &mut на него.
Принимаю в него сообщения через mpsc, отвечаю обратно через oneshot которые в сообщениях отправитель присывает.
Оно, в принципе, замечательно работает, но нигде не нашёл ответа на вопрос, законны ли такие кросс-рантайм взаимодействия?
Ибо получается что у меня N разных однопоточных рантаймов, плюс многопоточный "главный" который запросы обрабатывает.
Вроде как actix-web точно так же делает - запускает N однопоточных рантаймов и роутит между ними входящие запросы.
runtime per core вполне норм, но данный случай выглядит как костыль
Похоже на переизобретение actix
Обсуждают сегодня