Gostaria de saber o que é Síncrono e Assíncrono. Não só a definição em si mas, na prática, como saber distinguí-los e quando aplicá-los.
Gostaria de saber o que é Síncrono e Assíncrono. Não só a definição em si mas, na prática, como saber distinguí-los e quando aplicá-los.
Oi Matheus
Ao executar algo de forma síncrona, você espera que termine antes de passar para outra tarefa. Ao executar algo de forma assíncrona, você pode passar para outra tarefa antes de terminar.
Dito isso, no contexto dos computadores, isso se traduz na execução de um processo ou tarefa em outro "thread". Um thread é uma série de comandos (um bloco de código) que existe como uma unidade de trabalho. O sistema operacional pode gerenciar vários threads e atribuir a um thread uma parte ("fatia") do tempo do processador antes de alternar para outro thread para permitir que ele faça algum trabalho. Em sua essência (com o perdão do trocadilho), um processador pode simplesmente executar um comando, ele não tem o conceito de fazer duas coisas ao mesmo tempo. O sistema operacional simula isso alocando fatias de tempo para diferentes threads.
Agora, se você introduzir vários núcleos / processadores na mistura, as coisas PODEM realmente acontecer ao mesmo tempo. O sistema operacional pode alocar tempo para um thread no primeiro processador e, em seguida, alocar o mesmo bloco de tempo para outro thread em um processador diferente. Tudo isso tem a ver com permitir que o sistema operacional gerencie a conclusão de sua tarefa enquanto você pode continuar em seu código e fazer outras coisas.