Quais são as formas alternativas de suspender e retomar um encadeamento?

Os dois métodosThread.Suspend() eThread.Resume() estão obsoletos desde o .NET 2.0. Por quê? Quais são outras alternativas e exemplos?