problema al escribir en fichero con threads
Publicado por desole (1 intervención) el 07/11/2005 15:06:26
Hola,
tengo un problema ya que en una práctica en Java que estoy haciendo tengo varios threads que tienen que escribir una serie de información en un fichero de texto simultáneamente, y en el fichero cada vez que escribe uno machaca parte de lo del otro. Vamos, necesito que escriban en exclusión mutua.
He creado una clase de esta manera:
public class LDebug {
private PrintStream ps = null;
private static LDebug l = null;
private LDebug(){
try {
ps = new PrintStream(new File("src/library/test/log.txt"));
} catch (FileNotFoundException e) {
}
}
private synchronized void realPrint(String s){
ps.println(s);
ps.flush();
}
public static void println(String s){
if(l == null)
l = new LDebug();
l.realPrint(s);
}
y en cada thread llamo a: LDebug.println("cadena");
Tengo que entregar la práctica en menos de 5horas y sólo me falta esto, sacar los resultados en un .txt y listo, por lo que me corre mucha prisa. ¿Alguien puede echarme un cable?
Muchas gracias.
tengo un problema ya que en una práctica en Java que estoy haciendo tengo varios threads que tienen que escribir una serie de información en un fichero de texto simultáneamente, y en el fichero cada vez que escribe uno machaca parte de lo del otro. Vamos, necesito que escriban en exclusión mutua.
He creado una clase de esta manera:
public class LDebug {
private PrintStream ps = null;
private static LDebug l = null;
private LDebug(){
try {
ps = new PrintStream(new File("src/library/test/log.txt"));
} catch (FileNotFoundException e) {
}
}
private synchronized void realPrint(String s){
ps.println(s);
ps.flush();
}
public static void println(String s){
if(l == null)
l = new LDebug();
l.realPrint(s);
}
y en cada thread llamo a: LDebug.println("cadena");
Tengo que entregar la práctica en menos de 5horas y sólo me falta esto, sacar los resultados en un .txt y listo, por lo que me corre mucha prisa. ¿Alguien puede echarme un cable?
Muchas gracias.
Valora esta pregunta


0