leticiacamposs2 / curso-java-intermediario-loiane Goto Github PK
View Code? Open in Web Editor NEW🎓☕ Repositório com as aulas e exercícios do curso de Java intermediário da loiane.training
🎓☕ Repositório com as aulas e exercícios do curso de Java intermediário da loiane.training
O Deadlock pode acontecer com processos do sistema operacional e também com threads.
Neste exemplo eu tenho 2 threads, a primeira quer usar o objeto 1 então ela vai bloquear o objeto 1 usando o syncronized mas como existe o objeto 2 e thread 2 bloqueia o objeto 2 acontece um impasse porque a Thread 1 quer usar o 2 objeto e a 2 quer usar o 1 objeto. E como as duas estão segurando os objetos, tem o deadlock.
Ao bloquear um recurso que um processo ou outra thread quer usar é chamado de deadlock
Site: https://commons.apache.org/proper/commons-lang
Vá em download
Baixa o binário (zip)
Após extrair pegar o arquivo jar de menor tamanho
Crie uma pasta lib no projeto, cole o arquivo jar, siga os passos:
Feito isso ele irá virar biblioteca referenciada
Outro local para encontrar pacotes do Java: https://mvnrepository.com/
MULTITHREADS
Exemplo:
No gerenciador de tarefas por exemplo, é possível notar que o eclipse está executando 32 serviços, ou seja tem 32 threads.
VANTAGENS
O programas são mais eficientes
Ao criar uma nova thread é uma nova instancia, podendo deixar ela pronta para execução (estado: runnable - método: start()) quando está pronta para execução ela será executada (estado: running - método: run()) e após a sua execução ou ela termina (estado: dead) ou ela fica parada (estado: waiting - método: sleep(), wait() ou supend()) e para iniciar sua execução (estado: runnable - método notify(), notifyAll() ou resume())
QUAL ABORDAGEM É A MELHOR ?
SYNCHRONIZED
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.