elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [17] 18 19 20 21 22 23 24 25 26
161  Programación / Java / Re: Sincronizar Threads en: 21 Abril 2010, 19:37 pm
Si habia preguntado algo parecido, pero el codigo que me has puesto me ayuda todavia mas...  De todas formas he optado en no usar un thread para la descarga ya que si la ejecucion del programa al final es secuencial no tiene mucho sentido..

Que opinas LEYER??

Salu2

alzehimer_cerebral
162  Programación / Java / Re: uso de this en: 21 Abril 2010, 18:10 pm
Imaginate que declaras un atributo dentro del main, pues podrias acceder a el desde el main de la siguiente forma: this.atributo...

Salu2

alzehimer_cerebral
163  Programación / Java / Re: Sincronizar Threads en: 21 Abril 2010, 18:08 pm
Haber os comento,

el thread del main lo he puesto como synchronized:

Código
  1. public static void main(String args[]) {
  2.        java.awt.EventQueue.invokeLater(new Runnable() {
  3.  
  4.            public synchronized void run() {
  5.                Gui gui=new Gui();
  6.                gui.setVisible(true);
  7. }
  8.  
  9.  

Si duermo el proceso principal funciona:

Código
  1. Thread th =null;
  2.  
  3.        th = Thread.currentThread(); // We suspend the main thread
  4.  
  5.        ThreadForDownload thread = new ThreadForDownload(urli,global.GlobalApplicationDirectories.defaultRepositoriesPath);
  6.        thread.start();
  7.        try {
  8.            th.sleep(1000);
  9.        } catch (InterruptedException ex) {
  10.            Logger.getLogger(Gui.class.getName()).log(Level.SEVERE, null, ex);
  11.        }
  12.  

Pero supongamos que el servidor de donde se descarga el fichero esta saturado y tarda mas de 1seg en descargar el fichero, entonces ya no funcionaria con el sleep(1000)...

Me gustaria dejar th en wait y que ThreadForDownload haga un notifyAll para que lo despierte, pero cuando hago eso me salta la siguiente excepcion:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalMonitorStateException
164  Programación / Java / Re: generar un fichero en: 21 Abril 2010, 17:42 pm
Tiene buena pinta.

Lo has probado??

Saludo2

alzehimer_cerebral
165  Programación / Java / Re: uso de this en: 21 Abril 2010, 17:36 pm
Te sirve para referenciar un objeto de la propia clase..

Ej. Imaginate que quieres llamar a un metodo que se encuentra en la misma clase en la que estas programando, pues lo puedes hacer con this:

Código
  1. class Cliente{
  2.  public Cliente(String n){
  3.     this(n, Cuenta.nuevo_numero());
  4.     ....
  5.  }
  6.  
  7.  public Cliente (String n,int a){
  8.    nombre=n;
  9.    numero_cuenta=a;
  10.  }
  11. }
  12.  
166  Programación / Java / Sincronizar Threads en: 21 Abril 2010, 17:07 pm
Hola a todos de nuevo,

he leido articulos de sincronizacion de threads sin encontrar lo que busco.

Mi programa tiene el thread principal correspondiente al main, llega un momento en el cual necesito descargar un fichero de un servidor y hasta que dicho fichero no se descargue la ejecucion del programa no puede seguir.

Para gestionar la descarga lo hago mediante una clase que extiende a Thread, como puedo parar el thread principal del programa???

Asi es como lo estoy intentando:

Código
  1. Thread th =null;
  2.  
  3.        th = Thread.currentThread(); // We suspend the main thread
  4.  
  5.        try {
  6.            th.sleep(1000);
  7.        } catch (InterruptedException ex) {
  8.            Logger.getLogger(Gui.class.getName()).log(Level.SEVERE, null, ex);
  9.        }
  10.  
  11.        th.yield();
  12.  
  13.        /**try {
  14.             Thread.sleep(10000);
  15.         } catch (InterruptedException ex) {
  16.             Logger.getLogger(Gui.class.getName()).log(Level.SEVERE, null, ex);
  17.         }
  18.             Thread.yield();
  19.  
  20.             **/
  21.        ThreadForDownload thread = new ThreadForDownload(urli,global.GlobalApplicationDirectories.defaultRepositoriesPath);
  22.        thread.start();
  23.  
  24.  
  25.            //thread.start();
  26.            //Aqui quiero frenar la ejecucion hasta que thread termine de hacer la descarga
  27.  
  28.        //Aqui quiero frenar la ejecucion hasta que thread termine de hacer la descarga
  29.  
  30.        System.out.println("Despues ThreadForDownload");
  31.  
  32.  

He visto como sincronizar dos metodos que son synchronized, pero claro no se como hacer el thread principal de este tipo...

No se si me explicado bien, cualquier cosa me decis.

Gracias de antemano.

alzehimer_cerebral
167  Programación / Java / Re: Herencia en: 21 Abril 2010, 01:45 am
Y a un metodo que se le pasa un DriverPlugin no le puedo pasar un Plugin no?? Pero con un cast a DriverPlugin si podria verdad??

Gracias por la aclaracion.

Saludos.

alzehimer_cerebral
168  Programación / Java / Herencia en: 20 Abril 2010, 23:37 pm
Hola a todos,

estoy trabajando en un programa y me surgen unas dudas sobre la herencia, os cuento:

tengo una clase Plugin con los atributos comunes a todos los plugins y otra clase DriverPlugin que extiende dicha clase, la clase DriverPlugin contempla atributos que solo los tienesn ciertos plugins en concreto...

Clase Plugin:

Código
  1. protected String pluginType=null;
  2.    protected String pluginName=null;
  3.    protected String pluginBaseClass=null;
  4.    protected String pluginVersion=null;
  5.    protected String pluginShortDescription=null;
  6.    protected String pluginImage=null;
  7.    protected String pluginPath=null;
  8.  
  9.  

Clase DriverPlugin:

Código
  1.  private String[] avaibleExtensions;
  2.  

Luego tengo otra clase que es Repository en la cual quiero tener un metodo que comprueba si existe un cierto Plugin en el repositorio...

Mi duda es si dicho metodo lo declaro de la siguiente manera:

Código
  1. public Boolean existsPlugin(Plugin plug)
  2.  

1. -Podria pasarle un DriverPlugin tambien no???
2. -Si tengo un vector con ambos tipos de Plugins... Podria hacer:

Código
  1. Plugin aux = (Plugin) this.pluginVector.get(i);
  2.  

Donde i puede ser un DriverPlugin..

3. Nunca podria guardar en una variable DriverPlugin un tipo Plugin con cast a DriverPlugin verdad??

Lo que asumo es por las pruebas que he hecho hasta el momento, pero me gustaria confirmacion para fijar los conocimientos.

Espero vuestros comentarios.

Un saludo.

alzehimer_cerebral
169  Sistemas Operativos / Windows / Re: Disco duro con error de redundancia ciclica en: 19 Abril 2010, 18:09 pm
Toshiba StorE steel 640GB titanium...

Problema de correas?? No creo ya que el disco es nuevo.  Es mas tema del USB o del Win7 ya que en otros PC si que va a la velocidad que toca.

Salu2.

alzehimer_cerebral
170  Sistemas Operativos / Windows / Re: Disco duro con error de redundancia ciclica en: 18 Abril 2010, 16:52 pm
Al final he formateado la unidad afectada, y al transferir el backup a la unidad lo hace a una velocidad de media de 150KB/s ..  No me esta cogiendo la velocidad correspondiente al USB 2.0, a que se debe esto??

Salu2

alzehimer_cerebral
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [17] 18 19 20 21 22 23 24 25 26
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines