Как спроектировать многопоточное приложение GUI-сети?

1

Я работаю над небольшим программным обеспечением в Python.

Сеть будет отправлять и получать сообщения. Графический интерфейс отобразит сообщения из графического интерфейса пользователя и предоставит пользователю ввод для ввода отправляемых сообщений. Там также часть хранения, как я ее называю, которая собирает все сетевые сообщения и сохраняет их в какой-то базе данных, чтобы впоследствии обеспечить какой-то поиск.

В чем мой вопрос, какой был бы лучший способ его разработки? Конечно, все они должны произойти в отдельных потоках, но мне интересно, как лучше передавать информацию между ними? Какую сигнальную передачу/блокировку потока, доступную в Python, следует использовать, чтобы избежать возможных проблем?

  • 0
    Существует ли строгое требование использовать Python или вы открыты для других языков? Tcl и Tk, например, могут легко выполнить все вышеперечисленное без необходимости использования потоков. И для меня отсутствие темы означает меньшую сложность, что всегда хорошо.
  • 0
    Я использую API-библиотеку для связи с удаленными сетевыми сервисами там ... API, который я реализовал в Python и C ++
Теги:
multithreading
user-interface

2 ответа

1
Лучший ответ

Я думаю, что вы могли бы использовать Queue для передачи сообщений между графическим интерфейсом и сетевыми потоками.

Что касается GUI и потоков в целом, вы можете найти интересную статью PyGTK и Threading.

2

Одним из лучших решений этой проблемы является использование Twisted. Он поддерживает все инструментальные средства GUI.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню