Pool de Workers Concorrente em Go para Processamento de Tarefas HTTP
Para criar um endpoint web e submetê-lo a testes de carga com alto paralelismo, foi implementado um pool de workers no servidor.
A ideia central é separar o recebimento das requisições HTTP do processamento pesado. O handler HTTP apenas enfileira uma tarefa; um conjunto fixo de workers consome a fila de forma concorrente.
Componentes principais ...
Publicado em 9-18 19:53
Explorando Recursos Avançados de Go: Interfaces, Concorrência e Compilação Estratégica
Trabahlando com Interfaces
Em Go, uma interface é definida como um tipo abstrato que descreve um conjunto de assinaturas de métodos. Diferente de outras linguagens, a implementação de uma interface é implícita: se um tipo possui todos os métodos declarados na interface, ele a implementa automaticamente, sem a necessidade de palavras-chave como ...
Publicado em 6-16 16:00
Guia Prático de Concorrência em Go
Planejamento de Tarefas
sync.WaitGroup
package main
import (
"fmt"
"sync"
)
// Exemplo de uso de goroutines
func imprimirMensagem() {
fmt.Println("Goroutine executada")
}
var grupo sync.WaitGroup
func tarefaWaitGroup(id int) {
defer grupo.Done()
fmt.Println(id, "tarefa concluída")
}
func main() ...
Publicado em 6-2 05:03