ThreadUtility
ThreadUtility provides a set of static methods convenient
            for working with threads.
            
                
Abort a thread, helping to dislodging it if it is blocked in native code
            
Pre-Task compatibility
            
Captures the current thread's native id. If provided to  Kill later, allows the thread to be killed if it's in a message pump native blocking wait.
            
Gets  CurrentPrincipal or null if the current platform does not support it.
Do our best to kill a thread
            
Do our best to kill a thread, passing state info
            
Sets  CurrentPrincipal if current platform supports it.