Semaphore Multiplex

This example demonstrates the usage of a semaphore as a multiplex
A multiplex defines the maximum number of tasks that can run a critical section of code
In our example we create six instances of task two and use a multiplex to allow all six tasks 
to run the critical section. 

Build the code and observe it running
Reduce the number of tokens in the semaphore by editing line 30. 
This will restrict the number of concurrent tasks that can run the critical section

For more details see "The little book of semaphores" section 3.4