Obrigado por tentar contribuir com a qualidade do conteúdo, mas a correção apresentada não está corrigindo algo que realmente está escrito no texto do post.
O que realmente está escrito é uma demonstração bem simples (porém suficiente para compreensão da informação) do porque a percepção de que adicionar mais uma threads divide a capacidade da CPU em partes iguais para as duas threads não está correta. O que eu demonstro mencionando o fato de que na vida real a CPU não está 100% dedicada há um único software mas sim a centenas ou até milhares deles.
E para demonstrar como realmente mais uma thread não "divide pela metade" (N/2
) eu fiz aquela explicação de que não é N/1 -> N/2
mas sim 1/N -> 2/(N+1)
quando você muda de uma thread para duas.
De forma alguma está escrito no texto que isso necessariamente se converte em um software mais rápido. Está claro no texto que isso não é verdade em todo caso e, inclusive, explica em qual caso usar threads prejudica a performance.
Também está claro no texto que existem outros fatores que precisam ser levados em consideração, como o fato do kernel diminuir a prioridade de threads que estejam usando muita CPU.
Quanto mais CPU uma thread consome, menos ela é priorizada pelo kernel. Logo dividir o trabalho em dois (ou mais) pode evitar que o processo tenha a performance prejudicada pelo escalonador de tarefas.
Dividir em mais threads um problema cpu bound não melhora a perfomance. Eu testei. E sugiro que teste também, vc escreve implicitamente que pode melhorar a perfomance sim, em qual caso? Tem algum exemplo concreto que mostra isso?