Hilos en Java: Clase Thread vs Interfaz Runnable con Ejemplos de Vectores
Hilos en Java: clase Thread
Clase Vector:
public class Vector extends Thread {
private int tamanio;
Vector(String nombre, int tam) {
setName(nombre);
tamanio = tam;
} // fin constructor Vector
public void run() {
int[] array = new int[tamanio];
int sum = 0;
int cuadrad = 0;
double media = 0;
for (int i = 0; i < tamanio; i++) {
array[i] = (int) Math.floor(Math.random() * 100);
sum += array[i];
cuadrad = (array[i] * array[i]);
} // fin for
media = sum / tamanio;
System.out.println("La suma del vector: " + getName() + " es de: " + sum);
System.out.println("El cuadrado del vector: " + getName() + " es de: " + cuadrad);
System.out.println("La media del vector: " + getName() + " es de: " + media);
} // fin run
} // fin clase VectorMain:
public class PrincipalVector {
public static void main(String[] args) {
// Construir el objeto hilo
Vector h1 = new Vector("1", 3);
Vector h2 = new Vector("2", 8);
// Iniciamos el hilo
h1.start();
h2.start();
} // fin main
} // fin clase PrincipalVectorHilos en Java: interfaz Runnable
Clase VectorRun:
public class VectorRun implements Runnable {
private int tamanio;
String nombre1;
VectorRun(String nombre, int tam) {
tamanio = tam;
nombre1 = nombre;
} // fin constructor
public void run() {
int[] array = new int[tamanio];
int sum = 0;
int cuadrad = 0;
double media = 0;
for (int i = 0; i < tamanio; i++) {
array[i] = (int) Math.floor(Math.random() * 100);
sum += array[i];
cuadrad = (array[i] * array[i]);
} // fin for
media = sum / tamanio;
System.out.println("La suma del vector " + nombre1 + " es de: " + sum);
System.out.println("El cuadrado del vector " + nombre1 + " es de: " + cuadrad);
System.out.println("La media del vector " + nombre1 + " es de: " + media);
} // fin run
} // fin clase VectorRunMain:
public class PrincipalVectorRun {
public static void main(String[] args) {
// Construir el objeto hilo
VectorRun h1 = new VectorRun("1", 3);
Thread t1 = new Thread(h1);
VectorRun h2 = new VectorRun("2", 8);
Thread t2 = new Thread(h2);
// Iniciamos el hilo
t1.start();
t2.start();
} // fin main
} // fin clase PrincipalVectorRun