Sobes.tech
Junior — Middle

O que se entende por despacho no contexto de programação ou sistemas operativos?

sobes.tech IA

Resposta da IA

A despachante é o processo de selecionar e transferir o controlo de uma tarefa, fluxo ou processo específico num sistema operativo ou software.

No contexto dos sistemas operativos, a despachante é responsável por distribuir o tempo do processador entre várias tarefas, garantindo a multitarefa. O agendador (scheduler) decide qual o processo ou thread que será executado nesse momento, com base em prioridades, estado e outros critérios.

Na programação, o termo "despachante" muitas vezes está relacionado com a escolha do método de chamada em polimorfismo:

  • Despacho estático — a escolha do método ocorre em tempo de compilação (por exemplo, sobrecarga de funções).
  • Despacho dinâmico — a escolha do método ocorre em tempo de execução, geralmente através de funções virtuais ou interfaces.

Exemplo de despacho dinâmico em Swift:

class Animal {
    func sound() {
        print("Algum som")
    }
}

class Dog: Animal {
    override func sound() {
        print("Latido")
    }
}

let animal: Animal = Dog()
animal.sound() // Vai imprimir "Latido" — a chamada do método é determinada em tempo de execução

Assim, a despachante garante flexibilidade e gestão eficiente na execução de tarefas ou chamadas de métodos.