I recorded the material for this video yesterday. As I was getting ready to put my voice over it, I noticed that not all of the information returning from the processes is displayed in the user interface as the results come in. Some seem to happen in secret.
Some processes seem to just report “Done Exit Code 0” without ever displaying any work.
This is a synchronization problem and I LOVE THOSE. I’m not kidding.
So, for today:
- Fix this weird sync problem so that one line is being displayed for every process, and every event message is displayed.
What if I fix this quickly?
- I’ll return to this blog post and edit in some other goal.
Thanks!
Doh!
The problem was easy to fix. I admit to having spent more time making the video and posting this stuff than fixing that little problem. I might include the video of this new situation working better in tomorrow video, should one be created.
I can’t think of many situations where more than one process would need to be launched, because there’s a speed penalty to switch between more than one process copying the same set of files. In theory, the drives only transfer data so fast, and it’s slow compared to the processing speed, so starting more processes just means causing the drive to move its actuator arm back and forth more often which takes time, and, you get it — all that task switching itself is for nothing except to see more than one progress bar on the screen.
When might you want to start two completely separate copying processes? Maybe when one of the processes is spending a bunch of time uploading on a slower transport than a disk drive, like the internet.
Task 2 for Today
Hack the actual file tree copying code back into the console application.
- simple command line parameters
- <source directory> <target directory>
- Copy the contents of <source directory> into a possibly new <target directory>
- assume all copying is recursive
- report progress on standard output