Não foi possível carregar o Diqus. Se você é o moderador, por favor veja o nosso guia de problemas.
Em Unix existe a função "fork" que pega um processo que está rodando e sobe um processo-filho que é cópia do primeiro. Ele continua no segundo processo exatamente de onde o primeiro chamou o fork e com o mesmo estado em memória. Pra isso o novo processo precisaria de uma cópia da memória do primeiro, mas por causa do conceito de "copy on write", ele não precisa duplicar a memória o que torna tudo eficiente.
E processos em paralelo são diferente de threads nativas. Threads rodam dentro de um processo. No caso de linguagens como Ruby, Javascript, Python, etc mesmo tendo suporte a multithreading com threads nativas cada processo só executa uma thread nativa de cada vez (menos nos casos de I/O bloqueaste como expliquei). Nesse caso para usar todas as cores do seu CPU, precisa haver multi-processos.
O caso é diferente quando falamos de JRuby, claro, que consegue rodar sem o bloqueio de GIL e portanto um único processo consegue ter multi threads paralelas em todos os cores.
Falar Akita, blz?!
Cara legal as dicas que vc deu, só fiquei com algumas dúvidas?!
Como funciona esse fork? Ele pega um processo e "divide em outros processos" e faz o processamento em cores diferente na maquina? Eles são tão eficientes quanto as threads reais?