Os threads são frequentemente usados para melhorar o desempenho de uma aplicação, permitindo que múltiplas tarefas sejam executadas simultaneamente. Um thread é uma unidade de execução que um sistema operacional pode agendar. Ele contém um contador de programa, uma pilha e um conjunto de registradores. Por exemplo, um navegador web pode usar um thread para lidar com a entrada do usuário, outro para baixar o conteúdo de uma página web e outro para exibir o conteúdo.
Os threads também podem ser usados para melhorar a capacidade de resposta de um aplicativo, permitindo que uma tarefa seja interrompida caso demore muito para ser concluída. Por exemplo, um processador de texto pode usar um thread para entrada de dados do usuário e outro para verificação ortográfica. Se a tarefa de verificação ortográfica demorar muito, o thread de entrada de dados do usuário pode ser executado para que o usuário possa continuar digitando.
Como evitar tarefas demoradas na thread principal?
A maioria das aplicações possui uma thread principal responsável por lidar com eventos da interface do usuário e outras tarefas. Quando uma tarefa demora muito para ser concluída, isso pode fazer com que a thread principal trave e pare de responder. Isso pode acontecer quando um aplicativo realiza um cálculo demorado, como codificar um vídeo ou baixar um arquivo grande. Também pode ocorrer quando um aplicativo está aguardando uma resposta de uma requisição de rede. Você pode ter se deparado com essa recomendação ao testar seu site na ferramenta PageSpeed .

Existem diversas maneiras de evitar tarefas demoradas na thread principal:
1. Utilize métodos assíncronos
2. Descarregue o trabalho para uma thread em segundo plano.
3. Utilize um pool de threads de trabalho.
4. Utilize técnicas de programação reativa.
Os benefícios da multithreading
A multithreading pode ajudar você a evitar tarefas demoradas na thread principal de algumas maneiras diferentes:
- Ao utilizar múltiplas threads, você pode dividir uma tarefa longa em partes menores que podem ser executadas em paralelo. Isso pode reduzir drasticamente o tempo total necessário para concluir a tarefa.
- A multithreading permite maior controle sobre como seu programa utiliza recursos como CPU e memória. Gerenciando cuidadosamente as threads, você garante que seu programa utilize esses recursos da forma mais eficiente possível.
- A multithreading pode ajudar a melhorar a capacidade de resposta do seu programa, permitindo que você execute tarefas em segundo plano enquanto o usuário ainda pode interagir com o programa.
Como minimizar o trabalho da thread principal no WordPress?
No WordPress, aqui estão algumas maneiras de evitar threads longas e melhorar a pontuação do Page Speed:
- Remova arquivos JavaScript e CSS não utilizados – Utilize plugins como Asset Cleanup e Perfmatters.
- Minificar e adiar o CSS – Utilize um plugin de cache como o WPRocket ou o WP Fastest Cache para executar essa operação.
- Reduza o impacto de código de terceiros otimizando fontes e pré-carregando-as .
- Utilize construtores de páginas rápidos como o Gutenberg ou o Beaver.
Conclusão
Tarefas demoradas na thread principal podem fazer com que seu aplicativo pare de responder e, se não forem evitadas, podem levar a travamentos. Você pode evitar tarefas demoradas na thread principal usando threads e programação assíncrona, mantendo seu aplicativo funcionando sem problemas. Se você não tiver certeza de como implementar essas técnicas, recomendamos procurar um desenvolvedor profissional para ajudá-lo a começar.
Saiba mais sobre termos relacionados ao desempenho no Glossário de Velocidade do Site .