Olá Giovanni. A ideia é simplesmente demonstrar o incremento em uma unidade assim: compartilhada++; Mas em vez de fazer isso em uma única linha, dividi em 3 linhas (que é exatamente o que acontece quando o código é convertido para linguagem de montagem). Fiz assim para o problema da condição de corrida ficar mais evidente. Abraço.
Na prática, a primeira thread incrementa de 0 até 99999, depois a segunda de 100000 até 199999, a terceira 200000 até 2999999... Até chegar nos 4000000? Exatamente nessa ordem? Vlw pelo vídeo. Devas útil pra quem precisa aplicar threads
Boa pergunta Maycon. Na verdade não. A ideia por trás da utilização de threads é justamente fazer com que as coisas aconteçam AO MESMO TEMPO. Então não saberemos a ordem exata em que as execuções acontecem, o que sabemos é que cada uma das 4 threads vão fazer 100 mil incrementos na variável compartilhada. Esse ganho de tempo é ótimo, mas tem lá seus problemas, como a condição de corrida que demonstrei nesse vídeo bem como as formas de contornar isso. Abraço.
Olá. Algumas IDEs já disponibilizam bibliotecas como essa por padrão, se não for o seu caso, você deve fazer o download dela manualmente e colocar na pasta lib do seu projeto. Outra possibilidade é rodar no www.onlinegdb.com/
Ótimo exemplo prático!!!!!
Valeu irmããão, esclareceu demais!!!!!
Opaa, que bom que ajudou😁
Parabéns pelo vídeo, muito sucinto e didático, me ajudou demais!
Obrigado Hugo. Fico feliz por ter ajudado 😃
Excelente vídeo
Obrigado Artur. Abraço.🙌
Olá, não deveria ter sido incrementado a variável b na variável compartilhada? pois daí o resultado seria superior a 4M.
Olá Giovanni. A ideia é simplesmente demonstrar o incremento em uma unidade assim: compartilhada++;
Mas em vez de fazer isso em uma única linha, dividi em 3 linhas (que é exatamente o que acontece quando o código é convertido para linguagem de montagem). Fiz assim para o problema da condição de corrida ficar mais evidente.
Abraço.
Na prática, a primeira thread incrementa de 0 até 99999, depois a segunda de 100000 até 199999, a terceira 200000 até 2999999... Até chegar nos 4000000? Exatamente nessa ordem? Vlw pelo vídeo. Devas útil pra quem precisa aplicar threads
Boa pergunta Maycon. Na verdade não. A ideia por trás da utilização de threads é justamente fazer com que as coisas aconteçam AO MESMO TEMPO. Então não saberemos a ordem exata em que as execuções acontecem, o que sabemos é que cada uma das 4 threads vão fazer 100 mil incrementos na variável compartilhada. Esse ganho de tempo é ótimo, mas tem lá seus problemas, como a condição de corrida que demonstrei nesse vídeo bem como as formas de contornar isso.
Abraço.
Ótimo vídeo, curto mas explicativo.
Muito obrigado! Que bom que ajudou.😃
Eu não tenho a lib pthread, oque faço?
Olá. Algumas IDEs já disponibilizam bibliotecas como essa por padrão, se não for o seu caso, você deve fazer o download dela manualmente e colocar na pasta lib do seu projeto. Outra possibilidade é rodar no www.onlinegdb.com/