Вообще реализация цикла и в нем изменение переменных, вот что интересно. То есть нарисованное окно с кнопкой это цикл. Причем пользователь нажимает кнопку и меняет булевую переменную. То же со всеми gui сетевыми приложениями. В окне допустим видно что ты вводишь, посылаешь, видишь ответ. И это цикл который получает изменение переменных из вне.