Categorías
Concurrency

Pregunta de entrevista: use Java Thread para hacer cálculos matemáticos

Este es un ejemplo para mostrar cómo usar join (). Pregunta de la entrevista: use Java multi-threading para calcular la expresión 1 * 2 / (1 + 2).

Solución:

Use un hilo para hacer la suma, un hilo para hacer la multiplicación y un hilo principal para hacer la división. Dado que no hay necesidad de comunicar datos entre subprocesos, solo es necesario considerar el orden de ejecución del subproceso.

En el hilo principal, deja adición y multiplicación unirse al hilo principal. El método join () se usa cuando queremos que el hilo principal espere hasta que finalicen los hilos que llaman a join (). En este caso, queremos completar la suma y la multiplicación primero y luego hacer la división.

class Add extends Thread {
	int value;
 
	public void run() {
		value = 1 + 2;
	}
}
 
class Mul extends Thread {
	int value;
 
	public void run() {
		value = 1 * 2;
	}
}
 
public class Main{
	public static void main(String[] args){
		Add t1 = new Add();
		Mul t2 = new Mul();
 
		t1.start();
		t2.start();
 
		try {
			t1.join();
			t2.join();
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
 
		double n = ((double)t2.value/t1.value);
 
		System.out.println(n);		
	}
}

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *