Eu estou tentando ir fundo para entendermultithreading em java.I vi muitas sugestões para aprender com o ótimo livro "Java Concurrency in Prática ". Alguns também sugeriram aprender com o livro" O Pequeno Livro Semaphores ". Minha pergunta é quanto esses dois conceitos estão relacionados "Multithreading em Java" e "Conceito de Semáforos ou Sincronização" Conceito de OS "? Preciso aprender ambos para entender o multithreading?
Respostas:
0 para resposta № 1O termo "Concorrência" significa que algumas coisas são executadas em paralelo. A maneira como isso é feito em Java é usando vários threads (ou seja, "multithreading"), então esses termos são praticamente equivalentes.
O problema que você tem com a programação ao mesmo tempoé manter seus dados consistentes entre os threads; isso é feito através de bloqueios (controlando o acesso a dados compartilhados) e sincronização (garantindo que os dados alterados sejam atualizados corretamente). "Semáforos" são o conceito mais básico de implementações de bloqueio.
Então, aprender muito envolve o aprendizado do outro (ao invés de "aprender ambos").