Quelle est la différence entre Invoke () et BeginInvoke ()

Vous vous demandez quelle est la différence entre BeginInvoke()et Invoke()sont? Principalement à quoi chacun serait utilisé. EDIT: Quelle est la différence entre créer un objet de thread et appeler invoquer dessus et simplement appeler BeginInvoke()un délégué? ou sont-ce la même...