No no no, the exercise lies in synchronizing the threads with the thread that renders everything
You don't want the rendering thread to look at some data at the same time as it's being moved around in the vector(this is also kind of near the renderer-logic thread you always see people talking about for games). Having several algorithms sorting the same vector at the same time would be near, if not totally, impossible(Possibly even useless).
As I said in the original post, this is a place so you have a "controlled environment" where very little can go wrong and it is easy to extend it with experiments. For example: if you start out with mutexes the algorithms run slow, then you remove them and replace it with control-flags instead to make it lock-less, moving deeper and deeper into the things that people always shoot themselves in the foot with. This is a much better way to be introduced into Parallelism than just jumping straight into it that I see a LOT of people doing.
Have you seen this video:
http://www.blinkvid.com/video/8345/Sorting-Out-Sorting-mp4The exercise is inspired by this old relic which is still up to date.