Add efficient unparking in batched forcing.

This helps each thread reach its full potential, and in particular the
single-threaded workload is markedly improved.
It is a bit of defensive programming since I don't trust the concurrent behaviour of park/unpark. I would be fine with moving it right before the while-loop since the forcer thread anyway has a timeout as well, but I don't think there are any problems with this approach.