"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Por qué usar un puntero para WaitGroup.done pero no para WaitGroup.add y WaitGroup.wait?

¿Por qué usar un puntero para WaitGroup.done pero no para WaitGroup.add y WaitGroup.wait?

Publicado el 2025-02-06
Navegar:777

Why Use a Pointer for WaitGroup.Done but Not for WaitGroup.Add and WaitGroup.Wait?

Pointers and Variables en WaitGroups Reference

En el paquete Sync, las funciones agregan, hechas y esperan son llamados por un puntero a un grupo de espera:

  • Agregue incrementos el recuento de espera por el delta dado.
  • DECHE DESCRENDIDO el recuento de espera.
  • Bloquea hasta que el recuento de espera sea cero.

En el fragmento de código proporcionado, la función de información se llama usando una variable de puntero, mientras que las funciones de agregar y espera se llaman usando una variable (no un puntero).

Sin embargo, las tres funciones se llaman en el mismo valor de espera valor .

  • La variable WG se declara como un valor de Sync.waitGroup, pero el agregado , Se llaman a los métodos de espera y espera en la dirección de wg ( wg) usando el operador de deserencia ().
  • Esto significa que las tres funciones están operando con el mismo valor subyacente del grupo de espera.
  • La única diferencia es que se hace en la dirección de WG para asegurarse de que el valor correcto de WaitGroup se modifique.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3