Если ваша функция выполняется во многих итерациях, которые сами по себе не занимают слишком много времени, вам не обязательно возиться с отдельными потоками. Вы также можете заставить GUI обновляться во время длинных вычислений:
def long_function(some_args):
while task_is_not_finished():
do_some_stuff_that_doesnt_take_too_long()
progress_bar.pulse()
while gtk.events_pending():
gtk.main_iteration()