Pelo que entendi Threads são utilizadas para permitir acesso simultâneo ao mesmo objeto.
O que acontece se eu não utilizar Thread e dois processos tentarem acessar o objeto ao mesmo tempo?
Não necessariamente isso…Geralmente usa-se threads para executar dois processos em paralelo…mas não prescisa necessariamente acessar o mesmo objeto
Se tem dois processos acessando um mesmo objeto… então vc está usando threads…
Ops… ops… ops… não vamos confundir as coisas.
Um processo no seu SO é uma instância do seu programa. Elas não compartilham objetos, portanto, não é possível que elas acessem exatemente o mesmo objeto ao mesmo tempo.
Thread é outra linha de execução dentro do seu programa, um sub-processo. A diferença básica é que ela compartilha a área de memória do seu programa. Portanto, duas threads podem enxergar exatamente o mesmo objeto e aí, para não dar zica, é melhor sincronizar corretamente o acesso.
Um programa com uma única thread não terá duas execuções em paralelo.
A JVM não permite, de maneira simples, que 2 processos (não threads) acessem o mesmo objeto Java; ela permite que 2 processos acessem o mesmo recurso (um arquivo em disco, por exemplo).