Процессы вообще не могут общаться друг с другом через стандартную библиотеку python. Пространство памяти для процесса выделяется ОС и в целом не перекрывается. Родительские процессы (например, ваш исходный python процесс) имеют некоторую ограниченную видимость дочерних процессов (например, процессы, созданные с помощью ProcessPoolExecutor), но не могут передавать сообщения между ними.
У вас есть несколько вариантов здесь.
1) Использовать темы. Если вам на самом деле не нужен параллелизм (например, при использовании всех ядер многоядерной системы), эта опция может сработать. Все потоки выполняются в одном процессе и имеют общее пространство памяти. Таким образом, вы можете писать в объект из одного потока и читать из него в другом. concurrent.futures.ThreadPoolExecutor позволит вам сделать это.
2) Используйте базовую ОС. В общем, когда два процесса, работающие в одной системе, должны обмениваться данными, они делают это через порты. Процесс, который получает сообщения, будет привязан к порту. Процесс, который отправляет сообщения, затем устанавливает sh соединение через этот порт и использует это соединение для связи. Подробнее см. https://docs.python.org/3.7/howto/sockets.html.
3) Используйте брокер сообщений, такой как rabbitMQ или reddis. Это внешние процессы, которые облегчают связь между процессами.