2012-04-11 11 views
16

Estaba tratando de entender los términos de comunicación síncrona y asíncrona, pero me estoy confundiendo un poco. Traté de profundizar un poco en this pero todavía hay confusiones. Mis preguntas son las siguientes:¿Cómo funciona la comunicación síncrona y asíncrona exactamente?

1.¿Cómo funciona la comunicación síncrona y asíncrona? también con referencia a lo mencionado anteriormente, ¿cuáles son las señales utilizadas para la comunicación asíncrona?

2. ¿Cómo funciona el proceso síncrono y asíncrono?

Cualquier ejemplo para ilustrar esto sería útil.

Disculpas en caso de que esta sea una pregunta muy simple. Soy nuevo en la programación. Espero que tus respuestas me ayuden. ¡¡¡¡Gracias por adelantado!!!!

Respuesta

75

Llamar a alguien por teléfono es synchronos. Comunicarse con él por correo es asincrónico.


sincrónica

cuando te llame por teléfono, me llame a su número y ESPERA hasta que usted toma. Entonces dices algo, y en el mismo momento te escucho. Cuando terminaste, te envío datos (hablamos) y en el mismo momento en que los recibes (escúchame). Al final de nuestra comunicación uno de nosotros dice "FIN DE TRANSMISIÓN" (Adiós), el otro dice "Adiós" (Adiós) y luego ambos suenan.


asíncrono

te escribo una carta. Lo puse en la oficina de correos, y se lo enviaré a usted. Mientras tanto, hago NO ESPERO. Hago muchas otras cosas diferentes. Entonces recibes la carta. Lo lees mientras todavía hago muchas otras cosas diferentes. Entonces me escribes una respuesta y me la envías. En todas esas cosas, no estoy involucrado. Al día siguiente recibo un mensaje (sincrónico) (una señal) del sistema (cartero). Él (él) dice: "Aquí hay un mensaje para ti". Alternativamente, podría sondear mi bandeja de entrada cada cinco minutos para verificar si hay una nueva carta allí. Luego hago una pausa en mi otro trabajo, recibo su carta y leo su respuesta. Entonces hago algo de acuerdo con esta respuesta. Pero esto es algo que no notará, porque no está involucrado en lo que hago con su respuesta asincrónica.

+1

¡Buena analogía! +1 –

+1

¡Muchas gracias por una explicación clara! – Shash

+1

gracias por esto, realmente me ayudó a entender la diferencia y cuál usar – user1189352

14

sincrónico su código envía un mensaje, llama a una función etc. y se bloquea hasta que llega una respuesta, un valor de retorno, etc.

asíncrono su código continúa ejecutando después de enviar un mensaje/llamada a una función, por lo general pasa una referencia a una función de devolución de llamada que se ejecuta cuando llega la respuesta (que puede pasar en una hora, un par de días, años), su el hilo principal continúa mientras tanto.

Cuestiones relacionadas