Multitasking is an illusion!
Imagine this: The local chess club has somehow persuaded the grand master Boris Checkovski to visit. Checkovski agrees to play all 15 club members ... simultaneously. 15 tables are set up with chess boards, one for each member. The members sit down at their respective boards. Checkovski moves from table to table, pausing but a few seconds at each table to make a move, before proceeding to the next table. An hour later 15 defeated club members sit there, deep in thought, wondering what ever hit them, while Checkovski is happily tucking into the vodka and caviar the club so generously laid on for him out of your membership fees.
To each of the club members, Checkovski played a brilliant game of chess. To a member of the audience he was moving rapidly around the room, playing now a bit of one game, now a bit of another game. As he moved to each new table he somehow managed to figure out what was going on with that particular game and resume from where he left off, taking into account the changed circumstances. He made his move, then suspended himself from that game and moved on to resume the next.
Was he playing 15 games at once? No! He was playing a tiny bit of each game at a time. While he was at Harry's table he was totally focused on Harry's game. Then when he went on to Mary's table he picked up the thread of that game (including any move Mary may have made since last time), evaluated the situation and made his next move. Only by advancing rapidly from one table to the next did he create the illusion of playing 15 games at once.
And so it is with SPLat. Remember SPLatty from our online training course? SPLatty (a.k.a. the SPLat processor) can only do one thing at a time, but he can move very rapidly from task to task, creating the illusion of performing several tasks at once. All that is needed for this to happen is a mechanism to help SPLatty remember where he was in each task when he comes back to resume work on that task.
What is really nice about the techniques you are about to learn is that they provide a boringly consistent way of creating multitasking programs. Boring is good. Boring means fewer nasty surprises. Consistent is good. Consistent means the very same framework you use in program A will also work in program B. That means you will spend less time on the "multi" and more on the "task", and with practice you will get better and better at it.
Special note: This tutorial and the multitasking mechanism it covers have largely been superseded by the newer MultiTrack mechanism. MultiTrack achieves everything and more, with considerably less programming effort. The only time you would use this older multitasking mechanism would be if the controller you are using is unable to handle as many tasks as you need using MultiTrack.