Я новичок в многопоточности Python и ищу руководство по реализации многопоточности в приложении с двумя классами, графическим интерфейсом и веб-логикой, которые должны работать параллельно.
Класс GUI полностью ориентирован на взаимодействие с пользователем и будет иметь код типа «если вы нажмете здесь, запустите этот метод веб-логики». Графический интерфейс должен находиться в отдельном потоке, поскольку метод weblogic может работать медленно, и поэтому ожидание его завершения приведет к тому, что графический интерфейс не будет отвечать на запросы. Хорошей новостью является то, что код графического пользовательского интерфейса не имеет возможности изменять какие-либо данные внутри потока веб-логики, поэтому блокировка не является проблемой. (Графический интерфейс просто вызывает метод веб-логики с соответствующими переменными, а затем обрабатывает полученный результат.)
Класс веб-логики включает в себя несколько методов и конструкторов, и выполнение некоторых методов может занять много времени. Класс также включает конструкторы, которые необходимы для всех методов класса. (Подумайте об идентификаторе пользователя, пароле, URL-адресе доступа к API и тому подобном)
Итак, я хочу реализовать способ параллельного создания экземпляров двух потоков. Следовательно, графический интерфейс будет работать в своем собственном потоке и выдавать команды потоку веб-логики, который будет реагировать соответствующим образом.
Я начал изучать модуль Threading, и хотя мне удалось заставить его работать с упрощенными функциями, мне не удалось запустить целый класс внутри потока. Поскольку я новичок во всем этом, я ищу рекомендации по правильной стратегии. Должен ли я вообще использовать Threading? Есть ли лучший подход?
Вот псевдокод, иллюстрирующий то, чего я пытаюсь достичь:
Код графического интерфейса:
class GUI():
def createGUI(self):
# create GUI layout here
def button1(self):
# if clicked
outputtodisplay = weblogic.filelist()
# display outputtodisplay
def button2(self)
# if clicked assume that we have a file selector box which provides a filename
weblogic.uploadfile(filename)
# show an upload success indicator
Веб-логика:
class weblogic():
def __init__(self, count, instance):
# run some stuff to setup
self.uid = xxx
self.pwd = yyy
self.url = zzz
def listfiles():
# get file list using uid, pwd, url
return output
def uploadfile(self,filename):
# upload file using uid, pwd, url
return success/failure
Подробнее здесь: https://stackoverflow.com/questions/353 ... ng-classes
Классы потоков Python ⇐ Python
Программы на Python
1769037422
Anonymous
Я новичок в многопоточности Python и ищу руководство по реализации многопоточности в приложении с двумя классами, графическим интерфейсом и веб-логикой, которые должны работать параллельно.
Класс GUI полностью ориентирован на взаимодействие с пользователем и будет иметь код типа «если вы нажмете здесь, запустите этот метод веб-логики». Графический интерфейс должен находиться в отдельном потоке, поскольку метод weblogic может работать медленно, и поэтому ожидание его завершения приведет к тому, что графический интерфейс не будет отвечать на запросы. Хорошей новостью является то, что код графического пользовательского интерфейса не имеет возможности изменять какие-либо данные внутри потока веб-логики, поэтому блокировка не является проблемой. (Графический интерфейс просто вызывает метод веб-логики с соответствующими переменными, а затем обрабатывает полученный результат.)
Класс веб-логики включает в себя несколько методов и конструкторов, и выполнение некоторых методов может занять много времени. Класс также включает конструкторы, которые необходимы для всех методов класса. (Подумайте об идентификаторе пользователя, пароле, URL-адресе доступа к API и тому подобном)
Итак, я хочу реализовать способ параллельного создания экземпляров двух потоков. Следовательно, графический интерфейс будет работать в своем собственном потоке и выдавать команды потоку веб-логики, который будет реагировать соответствующим образом.
Я начал изучать модуль Threading, и хотя мне удалось заставить его работать с упрощенными функциями, мне не удалось запустить целый класс внутри потока. Поскольку я новичок во всем этом, я ищу рекомендации по правильной стратегии. Должен ли я вообще использовать Threading? Есть ли лучший подход?
Вот псевдокод, иллюстрирующий то, чего я пытаюсь достичь:
Код графического интерфейса:
class GUI():
def createGUI(self):
# create GUI layout here
def button1(self):
# if clicked
outputtodisplay = weblogic.filelist()
# display outputtodisplay
def button2(self)
# if clicked assume that we have a file selector box which provides a filename
weblogic.uploadfile(filename)
# show an upload success indicator
Веб-логика:
class weblogic():
def __init__(self, count, instance):
# run some stuff to setup
self.uid = xxx
self.pwd = yyy
self.url = zzz
def listfiles():
# get file list using uid, pwd, url
return output
def uploadfile(self,filename):
# upload file using uid, pwd, url
return success/failure
Подробнее здесь: [url]https://stackoverflow.com/questions/35364287/python-threading-classes[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия