When doing a long-running operation, the most frequent way to inform a user of progress is through a progress bar.
While running an operation in a thread, we can update a progress bar to show that the operation is moving forward and give the user a hint about the time it might take to complete the work: