Síncrono vs Assíncrono
Eduardo Silva
Posted on January 24, 2024
A programação síncrona e assíncrona são dois paradigmas fundamentais que influenciam a forma como os programas lidam com a execução de tarefas e a comunicação entre diferentes partes do código.
Síncrono:
Na programação síncrona, as operações são executadas uma após a outra, de forma sequencial. Quando uma tarefa é iniciada, o programa espera até que ela seja concluída antes de passar para a próxima. Isso significa que o fluxo de controle do programa é bloqueado até que a operação atual seja finalizada.
public class ExemploSincrono {
public static void main(String[] args) {
System.out.println("Início do Programa");
// Executa a operação síncrona
operacaoSincrona();
System.out.println("Fim do Programa");
}
public static void operacaoSincrona() {
System.out.println("Início da Operação Síncrona");
// Simula uma operação demorada
for (int i = 0; i < 5; i++) {
System.out.println("Executando passo " + i);
}
System.out.println("Fim da Operação Síncrona");
}
}
Assíncrono:
Na programação assíncrona, as operações podem ser executadas em segundo plano sem bloquear o fluxo principal do programa. Isso permite que o programa continue a executar outras tarefas enquanto aguarda a conclusão de operações demoradas.
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
public class ExemploAssincrono {
public static void main(String[] args) {
System.out.println("Início do Programa");
// Executa a operação assíncrona
CompletableFuture<Void> future = CompletableFuture.runAsync(() -> operacaoAssincrona());
// Realiza outras operações enquanto aguarda a conclusão da operação assíncrona
System.out.println("Realizando outras operações");
try {
// Aguarda a conclusão da operação assíncrona
future.get();
} catch (InterruptedException | ExecutionException e) {
e.printStackTrace();
}
System.out.println("Fim do Programa");
}
public static void operacaoAssincrona() {
System.out.println("Início da Operação Assíncrona");
// Simula uma operação demorada
for (int i = 0; i < 5; i++) {
System.out.println("Executando passo " + i);
}
System.out.println("Fim da Operação Assíncrona");
}
}
Bom, é isso, pessoal. Foi um exemplo simples de síncrono e assíncrono, com teoria e um pouco de código em Java na prática. Abraço a todos e até a próxima.
Posted on January 24, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
November 15, 2024
November 8, 2024
October 24, 2024