Título: [Solucionado]Duda funcionamiento Thread/Hilos Publicado por: NetJava en 23 Marzo 2011, 12:16 pm Buenas,
estoy haciendo una aplicación que tiene diferentes funciones. Una de ellas es la de leer archivos .txt y guardar su contenido en BD, y lo que estoy haciendo es utilizar hilos para mejorar los tiempos, pero no estoy muy seguro de que estén funcionando bien. Bueno os pregunto una duda bastante básica: 1.- Si dos procesos (en dos hilos) leen de un mismo archivo, lo pueden hacer a la vez¿? O hay que sincronizarlos¿? 2.- Si un hilo se ocupa de un archivo y otro se ocupa de otro archivo ocuparían el tiempo de un solo archivo, no¿? XD Lo que me preocupa es que a la vez están conectando a la BD (creo que no debería pasar nada con la BD en cuanto a sincronizar hilos) y a lo mejor hay hay conflicto. Código
Lo que esta dentro se ejecuta, no¿? Es así de simple parece. Saludos y muchas gracias! Título: Re: Duda funcionamiento Thread/Hilos Publicado por: Debci en 23 Marzo 2011, 15:53 pm 1- Para que los hilos acedan a un recurso estático, tienen que estar sincronizados.
2- Pueden entrar tanto hilos como gustes a la DB, si no, no podrían estar conectados vários usuarios a la vez en una MySQL por ejemplo, mientras no se contradiga un hilo a otro, todo deberia funcionar como debiere. Un saludo Título: Re: Duda funcionamiento Thread/Hilos Publicado por: NetJava en 23 Marzo 2011, 19:26 pm Buenas,
muchas gracias. Pregunto un poco más. He hecho un ejemplo para para poder comprender más el funcionamiento. En el ejemplo únicamente hay 3 "JLabel" que realizan una cuenta ascendente 0/100000000, cada uno con sus botones de empezar, detener y seguir. Aun que estos dos últimos me da igual por el momento. - El primer "JLabel" con su botón de comienzo sigue el proceso normal de la aplicación, no pasa por ningún hilo. - Los dos siguientes pasan por hilo, cada uno en el momento en el que se le de a -empezar, y empieza la cuenta en ese orden. Tengo una clase "hilo" que en su méto "run" llama a la clase algoritmo donde empieza la secuencia. El código de la clase "hilo" es el siguiente. Código
Ahora el código de la clase "algoritmo": Código
La clase "algoritmo" no tiene nada especial. Bueno lo que he podido comprobar es que funcionan en paralelo y es perfecto. Pero en el ejemplo donde realmente querría utilizarlo no es así en el momento en el que empieza a trabajar con la BD. Bueno pues realizo una pregunta más especifica. En el código que mostré al principio se ve que primero se trabaja con una .txt, y después la información la paso a la BD. Exactamente en el .txt hay por ejempo 500000 palabras, y una a una la cotejo con la BD y si no existe la guardo. El problema es que con el archivo se trabaja bien, pero en el momento de guardar en la BD saltan excepciones por todos lados... Cosa que no pasa si no utilizo hilos... Hay que seguir un orden especial con las clases que se llaman desde el método "run()" de la clase "hilo"¿?¿? Se os ocurre por que saltán excepciones en la clase que conecta con la BD¿? Bueno estoy escribiendo mucho, pero ya de paso termino bien. Como veis en el código anterior "ALGORIT.FiltradoSeparacion(Contenido);" desde el método se llama a al siguiente código: Código
Bueno pues nada, solo recordar que el código funciona en una situación normal, pero no si se hace a través de hilos XD. Muchas gracias a todos, y sobre todo a los que lean hasta el final este pestiño. Saludos!!! Título: Re: Duda funcionamiento Thread/Hilos Publicado por: NetJava en 23 Marzo 2011, 21:15 pm Buenas,
pues cierro esta consulta por que creo que al final funciona, aunq saltan excepciones pero creo que ya lo he pillado y ya rula. Muchas gracias y saludos!! P.D: No pongo resultado, por que creo que funcionaba más o menos desde el principio. Título: Re: Duda funcionamiento Thread/Hilos Publicado por: NetJava en 24 Marzo 2011, 18:03 pm Buenas,
pensaba que el problema ya estaba solucionado, pero no... jajajaja, llevo un buen rato intentando encontrar una solución y no consigo nada de nada. El problema esta en que no me conecta a la BD directamente, se que el código conecta perfectamente pero por algún motivo ahora que lo estoy utilizando en otra aplicación que he empezado de cero, y con Thread, no funciona... solo se suponía que tenia que copiar y pegar el código y ya funcionaria... Código
Al llamar al constructor para crear un objeto de esta clase salta la excepcion con un mensaje "com.mysql.jdbc.Driver". Bueno como había dicho esto lo hago desde un Thread. Muchas de antemano. Seguiré buscando :-\ Título: Re: [Solucionado]Duda funcionamiento Thread/Hilos Publicado por: Debci en 25 Marzo 2011, 15:49 pm Estas seguro de tener agregada la lib de JDBC en el IDE en este nuevo proyecto?
O en classpath en su defecto :P Saludos Título: Re: [Solucionado]Duda funcionamiento Thread/Hilos Publicado por: NetJava en 25 Marzo 2011, 16:29 pm Buenas, ;D ;D ;D ;D ;D ;D ;D Justo ese era el problema XD!!! Esta mañana cuando me he dado cuenta casi me tiro por la ventana XD. Muchas gracias!!!! :silbar:
|