FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Orden de secuencia incorrecto
Hola!
Como puse en otro mensaje ando liado con Programación Concurrente. Procuré ayudarme del libro Piensa en Java de Bruce Eckel. En el Capítulo 14 de la Segunda Edición, se tratan los Hilos múltiples, pues bien, estoy probando los ejemplos sencillitos, para ver que se intercalan hilos, y no es todo secuencial. Os pongo el código del pequeño ejemplo: Código:
public class SimpleThread extends Thread { private int countDown = 5; private static int threadCount = 0; private int threadNumber = ++threadCount; public SimpleThread() { System.out.println("Making " + threadNumber); } public void run() { while(true) { System.out.println("Thread " + threadNumber + "(" + countDown + ")"); if(--countDown == 0) return; } } public static void main(String[] args) { for(int i = 0; i < 5; i++) new SimpleThread().start(); System.out.println("All Threads Started"); } } Código:
javac SimpleThread.java java SimpleThread Código:
Making 1 Making 2 Thread 1(5) Thread 1(4) Thread 1(3) Thread 1(2) Thread 1(1) Making 3 Thread 2(5) Thread 2(4) Thread 2(3) Thread 2(2) Thread 2(1) Making 4 Thread 3(5) Thread 3(4) Thread 3(3) Thread 3(2) Thread 3(1) Making 5 Thread 4(5) Thread 4(4) Thread 4(3) Thread 4(2) Thread 4(1) All Threads Started Thread 5(5) Thread 5(4) Thread 5(3) Thread 5(2) Thread 5(1) Hay algo aquí que está fallando, y no se qué puede ser. Espero que alguien haya podido tener el mismo fallo que yo anteriormente, y me pueda aconsejar. // Saludos Todo esto lo estoy haciendo en Kubuntu 7.04 Feisty Fawn con el JRE 6 instalado. Última edición por AngelV fecha: 12-09-2007 a las 21:24:19. Razón: Indicar el Sistema Operativo y el JRE |
#2
|
||||
|
||||
Te parece secuencial
Te parece secuencial porque el ciclo es tan corto que el procesador no tiene que realizar interrupciones entre hilos, aumenta los ciclos de tus contadores a numero mucho mayor y verás como los empieza a intercalar
__________________
"Porque es tan idiotamente sorda la fé y tan ciego el que cree?".
|
#3
|
|||
|
|||
Cita:
Pero si que debe ser pequeño el ciclo, después le puse 50 para probar, y también me salía secuencial.Me mosqueé y puse 500, ya empezó, aunque poco a intercalar. Con 5.000 seguía intercalando poco, pero ya con 50.000 fue otro cantar. Ahora lo tengo trabajando que puse directamente 5,000.000 de decrementos por hilo, y parece que está tardando Muchas gracias por todo, Arcioneo. |
#4
|
||||
|
||||
No es nada tio
Cita:
Pero en tu vida vuelvas a decirme SEÑOR
__________________
"Porque es tan idiotamente sorda la fé y tan ciego el que cree?".
|
#5
|
|||
|
|||
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
RecordCount incorrecto en TkbmMemTable. Da el real menos 1 | Wonni | OOP | 1 | 07-06-2007 12:27:08 |
Campo COUNT incorrecto? | Duc | SQL | 6 | 07-07-2005 17:39:28 |
Error: Parámetro Incorrecto | Manuel | Varios | 2 | 30-04-2004 01:19:30 |
Filtro Incorrecto | JamesBond_Mx | Conexión con bases de datos | 2 | 06-04-2004 22:31:23 |
Indice incorrecto | VolaRe | Varios | 8 | 22-02-2004 20:34:45 |
|