Serialização paralela

Olá a todos
Suponha q eu tenha o seguinte método:

public void gravarObjetoEmArquivo(Object o) throws IOException { ObjectOutputStream oos = new ObjectOutputStram(new FileOutputStream("arquivo")); oos.writeObject(o); }
Suponha ainda q eu tenha uma aplicação com várias threads gravando objetos a partir desse método.
Pergunta: preciso sincronizá-lo?
Abraços.

Isso depende da forma com que vc trabalha o objeto que será gravado , pois se uma Thread está em vias de gravar o objeto e outra Thread o está modificando então vc deve sincronizar o acesso à ele, senão a gravação da primeira thread pode ficar inconsistente, assim :

public void gravarObjetoEmArquivo(Object o) 
  throws IOException 
{ 
  ObjectOutputStream oos = new ObjectOutputStram(new FileOutputStream("arquivo")); 
  syncronized( o ){
    oos.writeObject(o); 
  }
}
Em relação ao acesso ao arquivo ( caso seja sempre o mesmo para todas as threads ) o proprio SO provê semáfaros de acessos ou locks.

Olá, obrigado pela resposta. O mesmo arquivo será usado por todas as threads.
Abraços

Voce precisa de algumas coisas:
-Uso correto de streams, fechando eles ao final do seu uso.
-Devida sincronização já que o arquivo é sobrescrito toda vez.