Conceito de Asynchronous (Assíncrono)
O termo inglês Asynchronous, que em português se traduz por Assíncrono, designa, no âmbito das telecomunicações e da informática, uma forma de transmissão de dados em que a informação é enviada em intervalos de tempo irregulares. Em geral, é um adjetivo que descreve objetos ou eventos que não são coordenados no tempo. Em tecnologia da informação, o termo tem vários usos diferentes.
Nas telecomunicações, um sinal assíncrono é aquele que é transmitido numa frequência de relógio diferente do outro sinal. (Plesiochronous sinais que são quase, mas não completamente, sincronizados – existe um método é usado para ajustá-los – e sinais síncronos são os que funcionam no mesmo relógio).
Em programas de computador, o funcionamento assíncrono significa um processo que funciona de forma independente de outros processos, enquanto que a operação síncrona significa que o processo é executado apenas como resultado de algum outro processo que está a ser terminado. A actividade típica que pode usar um protocolo síncrono, seria uma transmissão de ficheiros a partir de um ponto para o outro. Como cada transmissão é recebida, uma resposta é retornada indicando se teve êxito ou se existe a necessidade de reenviar. Cada transmissão sucessiva de dados requer uma resposta à informação anterior antes que uma nova transmissão possa ser iniciada.
Uma maneira comum para lidar com a assincronia numa interface de programação é fornecer sub-rotinas (métodos, funções) que façam retornar ao seu interlocutor um objeto, às vezes chamado de futuro ou promessa, que representa os acontecimentos em curso. Tal objeto, então, é tipicamente retornado com uma operação de sincronização que bloqueia até que a operação seja concluída. Algumas linguagens de programação, tais como o Cilk, tem uma sintaxe especial para expressar uma chamada de um procedimento assíncrona.