Beruflich Dokumente
Kultur Dokumente
class SumArray {
private int sum;
try{
Thread.sleep(10); //permite el suicheo de tareas
}
catch (InterruptedException exc){
System.out.println ("Hilo principal interrumpido ");
}
}
return sum;
}
}
class MyThread implements Runnable{
Thread thrd;
static SumArray sa=new SumArray();
int a[];
int answer;
}
class Sync{
public static void main (String[] args) {
int a[]={1,2,3,4,5};
Los métodos wait (), notify () y notify all () son parte de todos los objetos porque
están implementados por la clase Object. Estos métodos sólo pueden ser
llamados desde el interior de un método Synchronized.
class TickTock {
synchronized void tick ( boolean running ) {
if ( !running ) { //para el reloj
notify ( ); // notifica una espera para el hilo
return:
}
System.out.println ( "Tic ");
notify ( ); // permite la ejecución del tock ()
try {
wait ( ); // espera que tock ( ) se complete
}
catch ( InterruptedException exc ) {
System.out.println ( "del Hilo interrumpido ");
}
}
synchronized void tock ( boolean running ) {
if (!running) { //para el reloj
notify ( ); // notifica una espera para el hilo
return;
}
System.out.println ( "Toc");
notify ( );
try {
wait ( ); // espera que tick ( ) se complete
}
catch ( InterruotedException exc ) {
System.out.println ( "Hilo interrumpido");
}
}
}
class ThreadCom {
public static void main ( String args [ ]) {
TickTock t1= new TickTock ( );
MyThread mt1= new MyThread ( "Tick",tt );
MyThread mt2= new MyThread ( "Tock",tt );
try {
mt1.thrd.join ( );
mt2.thrd.join ( );
} catch ( InterruptedException exc ) {
System.out.println ( "Procedimiento interrumpido ");
}
}
}
Escribir una clase Controlador en Java Threads que pueden consultar los sensores
simultáneamente para ejecutar el dispositivo. Debe implementar su método run () de tal
manera que inicie el dispositivo examinando los nuevos valores del sensor. El controlador
apaga el dispositivo si el sensor de calor excede el valor 70 o el sensor de presión el valor
100. También complete el método run () en la clase Sensor que llama updateValue ()
continuamente y señala al controlador si su valor ha cambiado.
package sensor;
import java.io.*;
import static java.lang.Thread.sleep;
package sensor;
try {
System.out.println("EL valor del sensor de Calor Exedio el valor de 70 ");
wait();
} catch (Exception e) {
notify();
}
}
if( presion>100){
try {
System.out.println("EL valor del sensor de Presion Exedio el valor de 100 ");
wait();
} catch (Exception e) {
notify();
}
}
public Sensor()
{
con=new Dispositivo();
d1=new Controlador(con);