Programação simultânea em Java

coursera.inc

coursera.inc

Programação simultânea em Java

Descrição

Prazos flexíveis

Prazos flexíveis
Redefinir os prazos de acordo com sua programação.
Certificado compartilhável
Ganhe um certificado após a conclusão
100% online
Comece instantaneamente e aprenda em sua própria programação.
Curso 2 de 3 no
Programação paralela, simultânea e distribuída em especialização em Java
Nível intermediário
Aproximadamente. 19 horas para concluir
Inglês
Legendas: árabe, francês, português (europeu), italiano, vietnamita, alemão, russo, inglês, espanhol

Vivek Sarkar
Professor
Departamento de Sciencesyllabus – O que você aprenderá com este curso
Bem -vindo ao curso!
Bem -vindo à programação simultânea em Java! Este curso foi projetado como uma série de três partes e abrange um tema ou corpo de conhecimento através de várias palestras, demonstrações e projetos de codificação em vídeo.
Tópicos e fechaduras
Neste módulo, aprenderemos sobre threads e bloqueios, que serviram como blocos de construção primitivos para programação simultânea por mais de cinco décadas. Hoje, todas as plataformas de computação incluem alguma forma de suporte para threads e bloqueios e os disponibilizam para uso por desenvolvedores em uma ampla gama de linguagens de programação. Aprenderemos como os threads podem ser criados, unidos e sincronizados usando as bloqueios estruturados (por exemplo, sincronizados) e não estruturados (por exemplo, Java.util.Concurrent Libraries) em Java. Também aprenderemos sobre novas classes de bugs que podem surgir quando programas simultâneos precisarem acessar recursos compartilhados. Esses bugs são chamados de violações de garantias de LIVRE/PROGRESS e incluem impasse, Livelock e Somevation. Concluiremos este módulo estudando diferentes soluções para o problema clássico de “filósofos de restaurantes” e usar essas soluções para ilustrar instâncias de impasse, mestre de estar e fome.
Seções e isolamento críticos
Neste módulo, aprenderemos diferentes abordagens para coordenar os acessos a recursos compartilhados sem encontrar os insetos de impasse ou os meios de estar estudados anteriormente. Seções críticas/isoladas são construções de programação simultânea de nível superior (em relação aos bloqueios) que simplificam a implementação da exclusão mútua, garantindo a ausência de dentes e meios de estar. O isolamento baseado em objetos relaxa as restrições impostas por seções críticas, permitindo que a exclusão mútua seja especificada por objeto, conforme ilustrado no exemplo da árvore de spanning. As variáveis ​​atômicas de Java representam um caso importante, mas restrito, de isolamento baseado em objetos que é implementado com eficiência em todas as plataformas de hardware. Por fim, aprenderemos como o isolamento baseado em objetos pode ser mais relaxado com os modos de acesso de leitura/gravação.
Conversando com dois sigma: usá -lo no campo
Junte-se ao professor Vivek Sarkar enquanto conversa com o engenheiro de software, Dr. Shams Imam, no escritório do centro de Houston, Texas, sobre tópicos, fechaduras, deadlocks, construções de alto nível e baixo nível e a importância da programação simultânea.
Atores
Neste módulo, aprenderemos outra abordagem de alto nível da programação simultânea chamada modelo de “ator”. Uma grande diferença entre o modelo de ator e o modelo de seções isoladas é que não há corridas de dados possíveis no modelo de ator porque não permite nenhuma forma de variáveis ​​compartilhadas. No entanto, como em todos os modelos de programação simultânea, as formas de não-determinismo de nível superior ainda são possíveis no modelo de ator devido a uma assincronia inerente na ordem em que as mensagens podem ser entregues. Estudaremos vários exemplos de simultaneidade usando o modelo de ator, incluindo a peneira clássica do algoritmo Eratóstenes para gerar números primos, bem como padrões de consumidor de produtores com buffers ilimitados e limitados.
Estruturas de dados simultâneas
Neste módulo, estudaremos estruturas de dados simultâneas, que formam uma camada de software essencial em todos os sistemas de programação multithread. Primeiro, aprenderemos sobre a simultaneidade otimista, um importante padrão multithread, no qual dois tópicos podem “otimistas” progredir em seu trabalho designado sem se preocupar com conflitos mútuos e apenas verificar conflitos antes de “cometer” os resultados de seu trabalho. Em seguida, estudaremos a estrutura de dados da fila simultânea amplamente usada. Embora as APIs para o uso de filas simultâneas sejam muito simples, suas implementações usando o modelo simultâneo otimista podem ser complexas e propensas a erros. Para esse fim, também aprenderemos a noção formal de linearizabilidade para entender melhor os requisitos de correção para estruturas de dados simultâneas. Em seguida, estudaremos mapas de hash simultâneos, outra estrutura de dados simultânea amplamente usada. Por fim, discutimos um algoritmo simultâneo para encontrar uma árvore de abrangência mínima de um gráfico não direcionado, um algoritmo que se baseia no uso de estruturas de dados simultâneas sob as cobertas.
Continue sua jornada com a especialização “Paralela, simultânea e distribuída Programação em Java”
Os próximos dois vídeos mostrarão a importância de aprender sobre programação paralela e programação distribuída em Java. O professor Vivek Sarkar falará com os profissionais do setor da Two Sigma sobre como os tópicos de nossos outros dois cursos são utilizados em campo.

Avaliações

Não há avaliações ainda.

Seja o primeiro a avaliar “Programação simultânea em Java”

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Cursos Relacionados

PHP Code Snippets Powered By : XYZScripts.com