The following example demonstrate how to copy files from one directory to other directory asycnhronously. While copying files asynchronously, percentage of copied files are also updated asynchronously.
Notice the second picture, Total files count is 20. But, application could copy 17 files. Because, another process has been using those 3 files. I think you can solve this problem 🙂
if cancellation is needed, application can be cancelled by Ctrl + c keys. It is shown in the third picture.
Great job. You should update indicator as '[ok]' instead of last indicator when it's completed.
It looks pretty. In addition, it's good sample for multi threading.