Arrancando correctamente los hilos en Java

Por Saiyine  el 2008-01-06 02:47:12 - Secciones: JAVA THREADS - Enlace permanente: 811

En relación a la entrada "Ejecutar en segundo plano usando hilos (threads)", me gustaria comentar que un error muy común, que ha sido perpetuado por algún libro de texto, es creer que los métodos run y start de los hilos son equivalentes. Nada más lejos de la realidad, como os muestro con este ejemplo.

public class ThreadsEjemplo2 extends Thread
{
    
    public ThreadsEjemplo2(String str)
    {
        super(str);
    }
    
    public void run()
    {
        for (int i = 0; i < 10 ; i++)
        {
            try
            {
                Thread.sleep(Math.round(Math.random()*200));
            } catch (Exception E)
            {
               
            }
                System.out.println(getName());
        }
            System.out.println("Fin " + getName());
    }
    
    public static void main (String [] args)
    {
        new ThreadsEjemplo2("A").run();
        System.out.println("Y ahora los demás");
        new ThreadsEjemplo2("B").start();
        new ThreadsEjemplo2("C").start();
        new ThreadsEjemplo2("D").start();
    }
}

La salida de esta clase nos muestra claramente que primero se ejecuta el primer "hilo", que no es tal, sino una ejecución lineal normal y corriente debido a la llamada incorrecta a al método run en vez de al start, y luego si se lanzan los otros tres como debe ser.

A
A
A
A
A
A
A
A
A
A
Fin A
Y ahora los demás
B
D
B
C
D
B
C
C
D
B
B
C
D
B
C
B
C
D
B
C
B
D
B
Fin B
D
C
D
C
D
D
Fin D
C
Fin C

Aaah, está bien, lo admito: me pasó a mi el otro día y lo he escrito más como autorecordatorio que otra cosa.


Tu nombre (Nick):

Tu correo (Email):
  Necesario para tu gravatar!

Tu página (URL):

Escribe aqui tu comentario:

       :noworry: :roll: :huh: :push: ¬¬ :OO 8) 8O :( :) :? :D :P :o :x :| ;) ^^ xD



Vista previa activada.

Vista previa (6/6/6, 6:66)


Patrocinadores

Saiyine recommends the easiest way to earn money with your web: get paid just by having some links! Click this button to check it out.

Text Link Ads

. . .

Descargas

  • ApagaPC
    apagapc241.exe  (1993)
  • LimpiaDocus
    LimpiaDocus001.exe  (1712)
  • RCM
    rcm001.zip  (1611)
  • Popmail
    popmail-0.4-psmn.tar.gz  (1665)
  • Manual de Delphi en PDF
    delphi_pdf.zip  (2144)
  • Evangelio del Perl
    Evangelio_del_perl.pdf  (1742)
  • Excel Simpsons
    Excel Simpsons  (1756)
  • . . .

    Recomiendo

  •  Mozilla Firefox 
    DIR (486)
  •  Mozilla Thunderbird 
    DIR (462)
  • KLite 
    klmcodec375.exe (60)
  •  Emule 
    DIR (448)
  •  Knoppix 
    DIR (378)
  •  Knoppix en español (DVD) 
    DIR (713)
  •  Mldonkey 
    DIR (438)
  •  Nucleo linux 
    DIR (434)
  •  Parche linux 
    DIR (434)

    . . .
  • Proyectos online

  • Saiyine Store
  • RandomWeb
  • Csv to vcard
  • Kunowalls!!!
  • Fondos de pantalla
  • Picaday: imagenes sexys o chocantes.
  • Scarlett: fotos de Scarlett Johansson
  • WhatsmyIP: obtener tu IP pública
  • Voxpop: noticias de internet en castellano
  • El gordo de Navidad: compruebe si ha sido premiado
  • Uma Thurman: galeria de Uma Thurman
  • FunPics: imagenes graciosas
  • . . .

    Blogs

  • Por lo que más querais, no entreis a estos: Tapanez, Yhandros, Onez, Merluzo's Blog, Antoñico's world, Boletin de guerra.

  • Otros en español: Chavalina, Testosterona, Kirai, Hispalibertas, Microsiervos.

  • Mis lecturas en guiri: Coding Horror, MySQL Performance.

    . . .
  • Utilidades

  •  Coral  (544), cacheando webs
  •  Spam.la  (618), correo de usar y tirar
  •  Jotapeges  (875), compartir imagenes en internet facilmente
  •  Mailinator  (613), correo de usar y tirar
  •  Bug me not  (581), absurdos registros di NO
  •  Trashmail  (578), correo de usar y tirar

    . . .
  • Mis wikis

  • Gravastar, VirtualDub, Samuel Eilenberg

    Se suspenden las traducciones de la wikipedia hasta que no se aclaren las condiciones de su adquisición práctica por parte de google.

    . . .
  • Página web ©2001-2006 Saiyine generada en 0.11391s, con 1463609 visitas en total, hoy 1145 (de un total de 1554 previstas).

    . . .