quot;""Выход из программы""" 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

quot;""Выход из программы"""

Поиск

"""Выход из программы"""

tk.quit()

 

sys.exit(0)

 

# Прорисовка окна, основы для прямоугольников и самих прямоугольников,

# кнопок для пуска и выхода tk = Tk()

tk.title("Соревнование потоков")

c = Canvas(tk, height=nrunners*h, bg="White") c.pack()

rects = [c.create_rectangle(0, i*h, 0, i*h+h2, fill=colors[i]) for i in range(nrunners)]

go_b = Button(text="Go", command=tk.quit) go_b.pack(side=LEFT)

quit_b = Button(text="Quit", command=quit) quit_b.pack(side=RIGHT)

# Замок, регулирующий доступ к функции пакета Tk

 

graph_lock = threading.Lock()

 

# Цикл проведения соревнований while 1:

go_b.config(state=NORMAL), quit_b.config(state=NORMAL)

tk.mainloop()                     # Ожидание нажатия клавиш

champion = None

ready_steady_go()

 

go_b.config(state=DISABLED), quit_b.config(state=DISABLED)

 

# Главный поток ждет финиша всех участников while sum(positions) < distance*nrunners:

update_positions()

 

 

update_positions()

# Кнопка окрашивается в цвет

 

go_b.config(bg=champion)

 

победителя

 

 

tk.update_idletasks()

 

 

 

Примечание:

 

Эта программа использует некоторые возможности языкаPython 2.3 (встроенную функцию sum() и списковые включения),поэтому для ее выполнения нуженPythonверсии не

 

меньше2.3.

 

Заключение

 

Навыки параллельного программирования необходимы любому профессиональному программисту.Одним из вариантов организации(псевдо)параллельного программирования является многопоточное программирование(другой вариант,более свойственныйUnix-системам-многопроцессное программирование-здесь не рассматривается).В обычной(однопоточной)программе действует всего один поток управления,а в многопоточной одновременно могут работать несколько потоков.

 



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 97; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.156 (0.008 с.)