Ir al contenido principal

Utilizando Hilos en Java - Semaforo





Aqui les dejo un ejemplo de como funcionan los hilos en java...es muy util y necesario.
Los pasos para probar este ejemplo son los siguientes:
Primer paso: crear un proyecto netBeans, le puedes colocar el nombre que quieras asi:



Despues de haber creado el proyecto nos dirigimos a la raiz del Package, hacemos click derecho sobre Package y escogemos la opcion java class, se debe ver de la siguiente manera:




el nombre de la clase que tienes que crear es:


 semaforo, y despues pegas este codigo:


import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import static java.lang.Thread.sleep;



public class semaforo extends Applet implements ActionListener {

    Button b1 = new Button("Iniciar");
    Button b2 = new Button("Pausar");
    Panel panel = new Panel();
    Conteo c1;
                
    public void init() {
        // propiedad inicial del panel
        panel.setBackground(Color.gray);
        
        setLayout(new GridLayout(1, 1));
        add(panel);
        add(b1);
        add(b2);
        b1.addActionListener(this);
        b2.addActionListener(this);
    }

    public void empezar() {
        c1 = new Conteo(1000, panel);
    }

    public void actionPerformed(ActionEvent e) {
        if (e.getSource().equals(b1)) {
            empezar();
            c1.start();

        }
        if (e.getSource().equals(b2)) {
            c1.stop();
        }
    }

    class Conteo extends Thread {

        long tiempo;
        Panel Area;
        boolean contando = true;

        public Conteo(long tiempo, Panel Area) {
            this.tiempo = tiempo;
            this.Area = Area;

        }

        public void run() {
            
            while (contando) {
                Area.setBackground(Color.red);
                try {
                    sleep(tiempo);
                } catch (InterruptedException e) {

                }
                Area.setBackground(Color.blue);
                try {
                    sleep(tiempo);
                } catch (InterruptedException e) {
                }
            }
        }
    }

}print 'hello world!'

Para ejecutar esta clase solo debes escoger la opción Run -> Run File así:

 


Deja tu comentario o agradecimiento...

Comentarios

  1. Muchas gracias sirvio de lujo nada mas le agregue unos detalles que me pidieron pero quedo de maravilla, espero poder ver bien el mecanismo por el cual lo realizaste para poder realizarlo yo por mi cuenta pero por ahora has salvado mi pellejo xD

    ResponderEliminar
  2. Estuvo recontra bueno gracias parce me sirvió bastante.

    ResponderEliminar
  3. hola mi nombre octavio muchisimas gracias por tu ayuda porque la idea que tenia no asi

    ResponderEliminar
  4. como puedo ejercutar el applet

    ResponderEliminar
  5. dice que no esta el metodo principal, el main :(

    ResponderEliminar
  6. gracias la verdad que el programa sirve pero me gustaría que dieras una explicación detallada del código, es importante saber como lo construiste.

    ResponderEliminar
  7. ayúdenme por que no me quiere agarrar por que me falta la clase principal

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Fireworks CS3 portable

Para que hagas los logos, botones e imagenes para tus aplicaciones facil y rapido... ¿Qué es Fireworks? Adobe Fireworks es una aplicación en forma de estudio (basada en la forma de estudio de Adobe Flash ), pero con más parecido a un taller destinado para el manejo híbrido de gráficos vectoriales con Gráficos en mapa de bits y que ofrece un ambiente eficiente tanto para la creación rápida de prototipos de sitios Web e interfaces de usuario, como para la creación y Optimización de Imágenes para web. Originalmente fue desarrollado por Macromedia , compañía que fue comprada en 2005 por Adobe Systems . Fireworks está disponible de forma individual o integrado en Adobe CS3/CS4/CS5 y por tanto ha sido diseñado para integrarse con otros productos de Adobe, como Dreamweaver y Flash . Integración con Adobe Flash La integración con Adobe Flash se ha ido reduciendo paulatinamente desde que Flash, en su versión 7, integró la herramienta PolyStar que hace un polígono...

Algoritmo para obtener el número mayor

Algoritmo para obtener el número mayor: Proceso numero_mayor                n1<-0                n2<-0                Escribir 'Ingrese el primer número'                Leer n1                Escribir 'Ingrese el segundo número'                Leer n2                Si (n1=n2) Entonces                                Escribir 'Los número...

Dada una matriz de 5 filas y 5 columnas imprimir la diagonal de la matriz.

Algoritmo para encontrar las diagonales de una matriz de un cuadrado Proceso diagonal_matrices         Dimension vect(50,50);         Escribir 'ingrese el numero filas';         Leer m;         Escribir 'ingrese el numero columnas';         Leer n;         Escribir 'Digite los valores:';         Para i<-1 Hasta m Con Paso 1 Hacer                        Escribir 'Fila ',i                        Para j<-1 Hasta n Con Paso 1 Hacer              ...