CodeGym University
Aprendizado
Curso
Tarefas
Pesquisas e Testes
Jogos
Ajuda
Agenda de lembretes
Comunidade
Usuários
Fórum
Bate-papo
Artigos
Histórias de sucesso
Atividade
Avaliações
Assinaturas
Tema claro
Lições
Avaliações
Sobre
Iniciar
Começar a aprender
Começar a aprender agora
Mapa da missão
Lições
Todas as missões
Todos os níveis
Estratégia "esperar-notificar-notificartodos"
Módulo 2: Núcleo Java
Nível 12
Lição 7
Olá Amigo! Quero discutir minuciosamente com você o tópico de notificação de espera. Os métodos wait-notify fornecem um mecanismo conveniente para os threads se comunicarem. Eles também podem ser usados para construir mecanismos complexos de interação de threads de alto nível. Vou começar com um pequeno exemplo. Digamos que temos um programa de servidor que precisa executar várias tarefas que os usuários adicionam por meio do site. Os usuários adicionam várias tarefas a diferentes ...
As nuances do trabalho
Módulo 2: Núcleo Java
Nível 12
Lição 8
Olá Amigo! E mais alguns detalhes. Ou seja, conselhos práticos. Suponha que você tenha um método que espera por algo e adormece até que a condição seja atendida. Se a coleção estiver vazia, aguarde public sincronizado Runnable getJob() { if (jobs.size()==0) this.wait(); return jobs.remove(0); } A documentação do Java recomenda chamar o método wait em um loop: If a collection ...
Outros detalhes de sincronização e multithreading
Módulo 2: Núcleo Java
Nível 12
Lição 9
Olá Amigo! Existe um tópico tão pesado chamado Modelo de Memória Java. Em princípio, você ainda não precisa saber, mas ouvir sobre isso será útil. Para eliminar todos os problemas possíveis, o Java mudou a maneira como a memória funciona. Agora a memória não está apenas dividida em cache de thread local e global, mas o mecanismo ficou ainda melhor. — ...
Links úteis do Professor - 16
Módulo 2: Núcleo Java
Nível 12
Lição 10
Olhar para o mesmo material de diferentes ângulos é útil, porque todo mundo pensa de forma diferente, e talvez a melhor fonte de teoria para você seja diferente daquela que serve para o seu amigo. Especialmente para você, o professor encontrou uma palestra muito interessante na rede, com a qual você aprenderá muito sobre threads.
ThreadGroup - grupos de threads
Módulo 2: Núcleo Java
Nível 13
Lição 0
Olá Amigo! Vamos começar a lidar com os tópicos completamente. Para que nenhum thread pudesse parar e interromper todos os threads em uma linha, foi introduzido o conceito de “grupo de threads”. Um thread só pode afetar outros threads que estão no mesmo grupo que ele. ThreadGroup é uma classe que gerencia grupos de threads. Essa abordagem permite proteger os fios de ...
Prioridades do Tópico
Módulo 2: Núcleo Java
Nível 13
Lição 1
Vamos continuar nossa aula. O que são prioridades de encadeamento e por que são necessárias. Em problemas reais, a importância do trabalho de diferentes threads pode variar muito. Para controlar esse processo, foi inventada a prioridade de trabalho. Cada thread tem essa prioridade - é um número de 1 a 10. 10 é a prioridade mais alta. 1 é o mais baixo. Se prioridade...
padrão de método de fábrica
Módulo 2: Núcleo Java
Nível 13
Lição 2
Muito provavelmente, até este ponto, você já encontrou padrões de projeto. Por exemplo, com um solitário (singleton). Vamos lembrar o que são padrões, por que são necessários, o que são padrões generativos (aos quais pertence o solitário) ...
Responsáveis e Futuros
Módulo 2: Núcleo Java
Nível 13
Lição 3
Você já está familiarizado com a interface Runnable e a classe Thread que a implementa. Vamos lembrar como é essa interface...
ExecutorService interface
Módulo 2: Núcleo Java
Nível 13
Lição 4
Antes do Java 5, você mesmo tinha que escrever todo o código no aplicativo para gerenciar os encadeamentos. Além disso, criar um novo objeto Thread é uma operação que consome muitos recursos, e criar um novo thread toda vez para tarefas “leves” é irracional. E já que esse problema...
Stop ExecutorService
Módulo 2: Núcleo Java
Nível 13
Lição 5
Considere um programa simples...
ThreadPoolExecutor
Módulo 2: Núcleo Java
Nível 14
Lição 0
Normalmente, ao desenvolver uma aplicação multi-threaded, nos deparamos com a organização do trabalho de threads. Quanto maior for nossa aplicação e quanto mais threads precisarmos para organizar a execução de tarefas multithread, mais objetos Runnable criaremos...
método newSingleThreadExecutor
Módulo 2: Núcleo Java
Nível 14
Lição 1
Usando o método Executors.newSingleThreadExecutor, você pode criar um ExecutorService com um pool que inclua um único thread. A lógica desse pool é a seguinte: o serviço executa apenas uma tarefa por vez. Se submetermos N tarefas...
Mostrar mais
1
...
18
19
20
21
22
...
35
Please enable JavaScript to continue using this application.