- Threading é a forma mais amplamente suportado de apoiar a simultaneidade, mas pode ser muito difíceis de construir. Java, C ++ e muitas outras línguas suportam encadeamento, enquanto algumas linguagens como Python e Ruby suportam apenas "green threads" em vez de verdadeira segmentação em nível de sistema. Enfiar torna-se complicado porque todos os threads precisam de acesso ao mesmo conjunto de dados globais, o que pode levar a condições de corrida e outros problemas semelhantes. Assim, outras abordagens têm sido introduzidas ...
- Software memória transacional (STM) é uma solução. Erlang e Clojure são dois langauges muito diferentes que implementam isso. - Atores Message-passagem é uma outra solução: Scala e Erlang valem a pena olhar para isso.
- Em Python e Ruby, dê uma olhada nas torcida e EventMachine que oferecem loops de evento. Alternativamente, olhar para Node.js, um (server-side) JavaScript estrutura para a construção de eventos loops.
Co-rotinas são uma outra forma de resolver problemas de concorrência: a linguagem Go do Google é um novo estaticamente digitado, os sistemas de linguagem inferido do tipo pretendido para ser como C no desempenho, mas como Python na sintaxe e simplicidade. Ele usa "goroutines", uma aplicação de co-rotinas. Outra linguagem construída em torno de co-rotinas é ícone.
- filas de expedição são outra solução para isso: no Mac OS X 10.6 e superior, "Grand Central Dispatch" é um sistema de filas a Apple tenha criado para uso em C, C ++ e Objective-C.
A implementação open source do GCD está disponível como "libdispatch". A implementação Java e Scala chamado HawtDispatch também está disponível.
Passo 5:
Leia código. Uma das melhores maneiras de aprender uma nova língua e se tornar hábil em aprender línguas é ler código. Há uma abundância de código aberto disponíveis, e uma vez que você ler o código de algumas aplicações, você começa a ver o bem eo mal código e desenvolver um gosto por aquilo que você gosta e não gosta, bem como compreender por que certos estilos de programação e paradigmas são bons para diferentes tarefas.
Passo 6:
Encontre um projeto primeiro Geralmente é mais fácil de aprender uma nova língua se houver um projeto ou objetivo específico a ser alcançado. Aprender uma nova língua, ao escrever "Olá mundo" é muito mais difícil e não vai exercer as verdadeiras habilidades do idioma.
Passo 7:
Isolar a diferença en