Я работаю над небольшим программным обеспечением в Python.
Сеть будет отправлять и получать сообщения. Графический интерфейс отобразит сообщения из графического интерфейса пользователя и предоставит пользователю ввод для ввода отправляемых сообщений. Там также часть хранения, как я ее называю, которая собирает все сетевые сообщения и сохраняет их в какой-то базе данных, чтобы впоследствии обеспечить какой-то поиск.
В чем мой вопрос, какой был бы лучший способ его разработки? Конечно, все они должны произойти в отдельных потоках, но мне интересно, как лучше передавать информацию между ними? Какую сигнальную передачу/блокировку потока, доступную в Python, следует использовать, чтобы избежать возможных проблем?
Я думаю, что вы могли бы использовать Queue для передачи сообщений между графическим интерфейсом и сетевыми потоками.
Что касается GUI и потоков в целом, вы можете найти интересную статью PyGTK и Threading.
Одним из лучших решений этой проблемы является использование Twisted. Он поддерживает все инструментальные средства GUI.