Cómo describir vívidamente el mecanismo de contrapresión en la programación reactiva
El principio del mecanismo de contrapresión en la programación reactiva es:
①Reducir el suministro por unidad de tiempo
②O desperdiciarlo;
③ Guárdelo y espere hasta que pueda gastarlo;
④ O aumente su poder adquisitivo.
En Rx, se han determinado el observador y lo observado. Obviamente no es posible mejorar el poder de consumo de los consumidores (es decir, los observadores), por lo que quedan otras soluciones.
Dado que los datos se envían demasiado rápido, algunos datos se pueden descartar selectivamente. Varios operadores mencionados por el interrogador son todas estas soluciones (acelerador, antirrebote, onBackpressionDrop);
Almacenar en caché el exceso de datos. que no se puede procesar temporalmente hasta que el consumidor pueda procesarlo (búfer, ventana, onBackpressionBuffer);
Comience con el productor y reduzca la velocidad a la que el productor envía datos. Hay un método de solicitud (n largo) en el Suscriptor. Llame a este método en onStart para decirle al productor cuántos datos puede procesar el consumidor cada vez; llame a la solicitud (0) en onStart y luego proporcione el método requestMore (n largo). request(n) puede implementar un empuje diferido por parte del productor.