This isn't very useful, because we'll only get progress updates when the tasks terminate.  That's going to happen about once per core on the server.  If we have 2 cores, we'll get an update just before its done saying "50%" and then almost immediately another update saying "100%"... but it may have taken an hour to reach that point while the threads worked.  :-(

We need to increment the counter, and set a signal that makes the main thread wake up and update the progress monitor based on the increments that were made to the counter since the last time it observed the counter.