O futex é um primitivo essencial de concorrência que separa bloqueio e espera, oferecendo ganhos de performance de 20–120× em ambientes altamente concorrentes comparado a locks baseados em System V.
O livro The Art of Multiprocessor Programming, 2ª edição, não cobre o futex, falhando ao omitir conceitos fundamentais de programação concorrente moderna.
Implementações de mutex baseadas em futex evitam spin locks longos e sleeps arbitrários, reduzindo chamadas de sistema desnecessárias ao acordar especificamente threads à espera.
Foram apresentados exemplos de código para implementar spin locks, mutexes inseguros, mutexes otimizados com contador de aguardantes e mutexes seguros com verificação de posse e suporte a recursão.
Discute-se também a gestão de recursividade em mutexes, a verificação de propriedade, tratamento de tempo de espera e os desafios quando threads morrem ou processos fazem fork mantendo locks.
O autor critica o livro por focar mais em história e não oferecer práticas de engenharia atuais, recomendando a inclusão de conceitos do milénio atual em textos académicos.
Get notified when new stories are published for "Hacker News 🇵🇹 Português"