можно сделать чтобы эти события обрабатывались последовательно? Благодарю.
rxjs
queue data structure
Точнее, что в rxjs?
операторы
А какая последовательность то нужна? В которой отправляют, или в которой принимают? Если первая, то в сообщение надо счётчик добавить, инкрементировать значение при отправке, и в главном процессе следить за тем, чтобы обрабатывались по порядку этого значения
нода в принципе однопоточная, так что как события будут поступать из воркеров в главный тред, в таком порядке они и будут обрабатываться этим главным тредом - ничего придумывать не нужно ;)
тут инкремент без бубна тоже затруднителен, т.к. откуда потоки смогут знать, какой "индекс" присвоить своему пакету, чтобы основной поток мог понять, какой индекс обрабатывать... а если просто использовать принцип notice - то получив, скажем, пакет с notice = 123456789 он не может знать, существует ли вобще пакет с notice=1234565432
У каждого потока свой счётчик, главному можно иметь хэшмэп со структурой pid-cnt для хранения последнего обработанного значения, плюс хэшмэп со структурой pid-sorted array(для примера), в которую засовываются сообщения, пришедшие вне очереди
спорить не буду, сделать можно - просто пока автор вопроса не конкретизировал, что ему нужно именно, мы не угадаем =))) - просто отрабатывать все входящие последовательно - тут ничего не надо - обрабатывать строго последовательно в глобальном масштабе - обрабатывать строго последовательно в рамках каждого потока - что-то иное нами не угаданное
Обсуждают сегодня