Sobes.tech
Junior — Middle

Podes nomear os principais primitivas usadas no GCD (Grand Central Dispatch)?

sobes.tech IA

Resposta da IA

As primitivas principais no Grand Central Dispatch (GCD) são:

  • Filas de despacho (Dispatch Queues): permitem executar tarefas de forma assíncrona ou síncrona. Existem filas sequenciais (serial) e concorrentes.
  • Grupos de despacho (Dispatch Groups): permitem agrupar várias tarefas e receber uma notificação quando todas estiverem concluídas.
  • Semáforos de despacho (Dispatch Semaphores): usados para gerir o acesso a recursos, permitindo limitar o número de tarefas que podem ser executadas simultaneamente.
  • Itens de trabalho de despacho (Dispatch Work Items): objetos que encapsulam blocos de código, que podem ser executados, cancelados ou aguardados.
  • Fontes de despacho (Dispatch Sources): permitem reagir a eventos do sistema, como temporizadores, alterações de ficheiros, etc.

Exemplo de criação e uso de uma fila sequencial:

let serialQueue = DispatchQueue(label: "com.example.serialQueue")
serialQueue.async {
    print("Execução de tarefa na fila sequencial")
}