Trilha Júnior Trilha

Ruby: fundamentos de Threads

O curso trata de como as threads do Ruby se comportam depois de criadas. Mostra como ler o ciclo de vida de uma thread com Thread#status e alive?, e como report_on_exception e abort_on_exception lidam com uma thread que levanta exceção. Monta um deadlock com dois mutexes travados em ordem oposta e o exibe com segurança usando join com timeout. Usa Queue e SizedQueue para passar trabalho entre threads com backpressure. Por fim, mede o GVL com Benchmark.realtime: threads ganham muito em trabalho preso em I/O e quase nada em trabalho preso em CPU.

O que você vai aprender

  • ✓Ler o ciclo de vida de uma thread com Thread#status e alive?
  • ✓Tratar exceções em threads com report_on_exception e abort_on_exception
  • ✓Reproduzir um deadlock e evitá-lo com ordem consistente de locks
  • ✓Passar trabalho entre threads com Queue e SizedQueue
  • ✓Medir o GVL com Benchmark.realtime em trabalho preso em I/O e em CPU
Prévia grátis · Aula 1 3 min de leitura

Thread#status e o ciclo de vida de uma thread

A aula "Threads e concorrência", do curso do nível intern Fundamentos de OS, cobriu processo contra thread e concorrência contra paralelismo. Também cobriu o GVL e por que ele é liberado durante I/O, Thread.new/.join, uma demo de condição de corrida corrigida com Mutex#synchronize e o modelo do…

Ler a aula completa grátis →

Currículo

7 aulas
Digite para buscar...