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.