Hice una pequena prueba para que verifiques como es que lo debes hacer:
Código Javascript
:
Ver originalpublic static void main(String[] args) throws Exception {
final SyncTest test = new SyncTest();
Thread hiloUno = new Thread(new Runnable() {
public void run() {
try {
test.writeToFile("A");
} catch(Exception e) {
}
}
});
Thread hiloDos = new Thread(new Runnable() {
public void run() {
try {
test.writeToFile("B");
} catch(Exception e) {
}
}
});
hiloUno.start();
hiloDos.start();
}
Código Javascript
:
Ver originalpublic void writeToFile(String firstChar) {
synchronized (SyncTest.archivo) {
for(int i = 1; i <= 10; i++) {
System.out.println(firstChar + i); //Debes reemplazar esto por la actual escritura
}
}
}
Debes de aislar el metodo de escritura en tu clase tambien
La clase SyncTest tiene un metodo llamado writeToFile que cree para hacer una pruebita. Al hacerlo de esa manera, solo un hilo escribira a la vez en el archivo.