¿Por qué C# necesita delegar al iniciar un hilo?
No entiendes el concepto de representación. representante. Net es esencialmente un puntero a una función, pero este puntero está encapsulado y es de tipo seguro. La delegación y los subprocesos son dos conceptos diferentes. Los subprocesos son dinámicos, mientras que la delegación es una dirección de memoria o un grupo de direcciones de memoria, que es estática. Si un hilo encuentra un puntero a una función mientras se ejecuta, ejecutará esa función.
Con el fin de facilitar la programación,. Net ofrece a los delegados dos métodos para llamar a la ejecución de subprocesos, a saber, métodos sincrónicos y asincrónicos, que se abren mediante Invoke y BeginInvoke respectivamente. Invoke se ejecuta de forma sincrónica y lo ejecuta el subproceso que llama, mientras que BeginInvoke inicia un subproceso en segundo plano para ejecutar la función señalada por el delegado. Este subproceso en segundo plano y el subproceso que llama pertenecen al modo de ejecución asincrónica. De hecho, con el concepto de delegado, puede abrir un nuevo hilo sin usar la clase de hilo directamente durante la programación, porque Microsoft ya lo ha implementado para usted.
Te sugiero que le eches un buen vistazo a MSDN. Estos conceptos no se pueden digerir en uno o dos días. Si tiene alguna pregunta, por favor pregunte.