Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 26, 2013 08:17:38

eiler13
Зарегистрирован: 2013-02-25
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

требуется ли здесь многопоточность?

Уважаемые форумчане. Использую такой алгоритм: внутри цикла некоторые операторы производят вычисления. Эти вычисления хотелось бы просто отображать после каждой итерации цикла с использованием готовой библиотеки. Отображение чрезвычайно простое: построить зависимость y(x) и подходит метод plot из pylab.

work=True
while work:
    # расчеты
    plot(x,y)
    show()

Видеть результат хотелось бы на каждой итерации цикла, и поэтому поставлено show(). Но с оператором show() работа программы приостанавливается пока не закроешь окно.

Нужно, чтобы окно pylab-а висело всегда и отображало новые полученные результаты, а основной скрипт не прерывался.
Можно ли обойтись без написания многопоточного приложения самостоятельно? Как, если можно?

Офлайн

#2 Фев. 26, 2013 08:23:05

cutwater
От:
Зарегистрирован: 2009-01-08
Сообщения: 444
Репутация: +  19  -
Профиль   Отправить e-mail  

требуется ли здесь многопоточность?

Забавно, но я ответ нашел в первой ссылке в google по запросу “pylab show”

http://stackoverflow.com/questions/5896737/how-to-display-an-image-with-pylab-from-a-script-in-a-non-blocking-way



Офлайн

#3 Фев. 26, 2013 12:28:57

eiler13
Зарегистрирован: 2013-02-25
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

требуется ли здесь многопоточность?

получилось! схема такая, может кому пригодиться:

work=True
ion()
while work:
    # расчеты
    plot(x,y)
    draw()
ioff()
show()

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version