Вам нужно реализовать простой менеджер очередей. В стандартной библиотеке Python есть несколько реализаций очередей, вам нужно сделать по простой
FIFO очереди на каждый датчик. Можно сделать так же объект-заявку с тремя состояниями - pending, processing, done. Соответственно все новые заявки впихиваются в pending, как только заявка ушла на обработку в датчик - ей ставится статус processing, и затем, по получению данных - done и она выкидывается из очереди.
Можно так же сделать обертку-менеджер таких очередей. Если вы хотите сделать ее еще и асинхронной... то тут надо либо вешать обработчики результатов либо добавлять результаты в свою очередь. Эдакий конвейер.