/// <summary>
/// Either suspends the thread, or if the thread is already suspended, has no effect.
/// </summary>
/// <returns>A new instance of the <see cref="FrozenThread" /> class. If this object is disposed, the thread is resumed.</returns>
public FrozenThread Suspend()
{
if (!IsAlive)
{
return(null);
}
ThreadCore.SuspendThread(Handle);
return(new FrozenThread(this));
}