Na aula o Nico criou 10 threads que acessam o objeto lista e colocou synchonized no método adiciona, ou seja, cada thread vai ter de esperar uma acabar para poder executar o método. Na prática isso não dá o mesmo desempenho de uma thread só?
Na aula o Nico criou 10 threads que acessam o objeto lista e colocou synchonized no método adiciona, ou seja, cada thread vai ter de esperar uma acabar para poder executar o método. Na prática isso não dá o mesmo desempenho de uma thread só?
Oi Felipe,
para o método adiciona
sim, mas os outros métodos da lista (que não precisam ser sincronizados) podem ser utilizados em paralelo.
tudo bem?
abs
Boa tarde, Felipe! Como vai?
De forma geral, o desempenho na operação de adicionar elemento na lista teria o mesmo desempenho de uma thread só. Mas na prática, isso pode se mostrar diferente pq poderia até ter tbm um desempenho pior, já que as vezes ocorre de uma determinada thread perder o lugar de processamento dela e ser congelada pelo sistema operacional durante um determinado tempo. E essa troca de contexto entre as threads toma tempo!
Grande abraço e bons estudos!