<==== Simulate 8 CPUs =====>
AcquireSpinLock - Main
AcquireSpinLock - Main - Acquired
                        CPU[4] - AcquireSpinLock
                        CPU[7] - AcquireSpinLock
                        CPU[1] - AcquireSpinLock
                        CPU[0] - AcquireSpinLock
                        CPU[3] - AcquireSpinLock
                        CPU[5] - AcquireSpinLock
                        CPU[2] - AcquireSpinLock
                        CPU[6] - AcquireSpinLock

x == exit
x

Get x -> exit
ReleaseSpinLock - Main
ReleaseSpinLock - Main - Released
                        CPU[4] - AcquireSpinLock -> Acquired.
Waiting for Threads
                        CPU[4] - Waiting for CloseEvent
                        CPU[4] - Received CloseEvent
                        CPU[4] - ReleaseSpinLock
                        CPU[4] - ReleaseSpinLock -> Released.

                        CPU[1] - AcquireSpinLock -> Acquired.
                        CPU[1] - Waiting for CloseEvent
                        CPU[1] - Received CloseEvent
                        CPU[1] - ReleaseSpinLock
                        CPU[1] - ReleaseSpinLock -> Released.

                        CPU[3] - AcquireSpinLock -> Acquired.
                        CPU[3] - Waiting for CloseEvent
                        CPU[3] - Received CloseEvent
                        CPU[3] - ReleaseSpinLock
                        CPU[3] - ReleaseSpinLock -> Released.

                        CPU[2] - AcquireSpinLock -> Acquired.
                        CPU[2] - Waiting for CloseEvent
                        CPU[2] - Received CloseEvent
                        CPU[2] - ReleaseSpinLock
                        CPU[2] - ReleaseSpinLock -> Released.

                        CPU[7] - AcquireSpinLock -> Acquired.
                        CPU[7] - Waiting for CloseEvent
                        CPU[7] - Received CloseEvent
                        CPU[7] - ReleaseSpinLock
                        CPU[7] - ReleaseSpinLock -> Released.

                        CPU[5] - AcquireSpinLock -> Acquired.
                        CPU[5] - Waiting for CloseEvent
                        CPU[5] - Received CloseEvent
                        CPU[5] - ReleaseSpinLock
                        CPU[5] - ReleaseSpinLock -> Released.

                        CPU[0] - AcquireSpinLock -> Acquired.
                        CPU[0] - Waiting for CloseEvent
                        CPU[0] - Received CloseEvent
                        CPU[0] - ReleaseSpinLock
                        CPU[0] - ReleaseSpinLock -> Released.

                        CPU[6] - AcquireSpinLock -> Acquired.
                        CPU[6] - Waiting for CloseEvent
                        CPU[6] - Received CloseEvent
                        CPU[6] - ReleaseSpinLock
                        CPU[6] - ReleaseSpinLock -> Released.

END