Concorrência em Kotlin: Programação Assíncrona e Multithread
Concorrência em Kotlin: Programação Assíncrona e Multithread
Resumo:
O livro «Concorrência em Kotlin» é um guia abrangente sobre programação assíncrona e multithread na linguagem Kotlin. Ao contrário de muitas outras publicações, este livro não apenas apresenta a sintaxe das corrotinas, mas ensina a pensar no paradigma do código concorrente, evitar bloqueios e construir aplicações tolerantes a falhas.
Sobre o que é este livro
O autor revela sequencialmente todos os níveis de concorrência em Kotlin: desde as threads clássicas do Java (Thread) até as corrotinas modernas, canais e Flow. Você aprenderá:
- Fundamentos do JMM e threads: como funcionam a memória, sincronização, volatile, tipos atômicos e pools de threads.
- Corrotinas (Coroutines): construção de threads leves "verdes", funções suspend, Scopes e Dispatchers.
- Canais (Channels): troca de dados entre corrotinas, padrões fan-out/fan-in.
- Flow e fluxos reativos: fluxos frios e quentes, operadores, tratamento de erros, backpressure.
- Concorrência estruturada: cancelamento e tratamento de exceções, SupervisorJob, CoroutineExceptionHandler.
- Testes: como escrever testes unitários para código assíncrono, usar TestCoroutineDispatcher.
Para quem é este livro
O livro será útil para:
- Desenvolvedores Java que estão migrando para Kotlin (especialmente para Android e backend);
- Desenvolvedores que já escrevem em Kotlin, mas desejam entender melhor as corrotinas e evitar erros comuns (como vazamentos de memória ou deadlocks);
- Estudantes e engenheiros iniciantes que estão aprendendo abordagens modernas para assincronia.
Para a leitura, é suficiente ter conhecimento básico da sintaxe do Kotlin e uma compreensão geral do que é uma thread. Todos os conceitos complexos (como "structured concurrency" ou "backpressure") são explicados do zero.
O que você aprenderá após a leitura
- Como escolher corretamente entre threads e corrotinas em uma tarefa específica.
- Como projetar uma arquitetura de aplicação resistente a condições de corrida e bloqueios.
- Como usar Flow para processamento assíncrono de dados (por exemplo, carregamento de lista com paginação).
- Como testar código assíncrono sem "sleep" e timeouts.
- Como trabalhar com canais para organizar o processamento em pipeline.
O livro contém mais de 50 exemplos práticos e exercícios com soluções. Todos os exemplos são escritos para Kotlin 1.9+ e são compatíveis com as versões mais recentes das corrotinas (1.7+).
Compre o livro «Concorrência em Kotlin» na PythonLib — significa obter não apenas teoria, mas ferramentas prontas para criar aplicações rápidas e confiáveis em Kotlin.