Programas de java y C#
Manejo de hilos en Java(para principiantes en uso de hilos)
Esta explicacion se basa en implementar la interfaz Runnable
En java muchos de nosotros al inicio tenemos problemas en java con los hilos, bueno con unos pocos programas a cuestas, lo mejor es declarar el hilo como atributo de la clase donde la vas a ejecutar:
private Thread hilo = null;
de esta manera lo puedes controlar desde cualquier clase.
bueno seguramente saben que un hilo pasa por algunos estados(los mas importantes).
Start.- El hilo inicia ( llamada al metodo run() )
Stop.- El hilo “muere” .
un hilo tambien puede dormir (Thread.sleep(int n)) donde n es el tiempo en milisegundos (1000 =1 segundo)
bueno yo recomiendo lo siguiente cuando manejes un hilo:
Dentro de la clase donde tienes el atributo hilo creas un metodo:
public void iniciar(){
if(hilo == null){
hilo = new Thread (this);
hilo.start();
}
y si necesitas detener el hilo
public void parar( ){
if(hilo != null){
hilo.stop;
hilo==null;
}
}
Con esto te aseguras de utlizar un unico objeto Thread .
ejemplo:
public class Ejemplo implemments Runnable {
private Thread hilo = null;
private int cronometro;
public void iniciar(){
if(hilo == null){
hilo = new Thread (this);
hilo.start();
}
}
public void parar( ){
if(hilo != null){
hilo.stop;
hilo==null;
}
}
//en este metodo implementas que quieres que haga el hilo
// quiero que me simule un cronometro
public void run( ){
try{
cronometro =0;
while( true){
cronometro++;
Thread.sleep( 1000);// me aseguro que el cronometro aumente en un segundo
}
}catch( Exception e){
}
}
// creo una clase ventana donde presento el hilo
public class Ventana extends JFrame{
public Ventana( ){
private Ejemplo ejem;
setSize(200, 200);// tambien le puedes enviar un objeto de Dimension
setcomponentes( );
setVisible( true);
}
public void setcomponentes( ){
JPanel panel = new JPanel( );
ejem = new Ejemplo( );
ejem.iniciar( ) ;
JLabel presentacion = new JLabel(5);
//presentacion.setText(“”+ejem.cronometro) ;
panel.add(presentacion);
setContentPane( presentacion);
}
public static void main( String args[] ) {
Ventana v = new Ventana( );
} } continuaremos con el ejemplo de hilos ….
Ventana v = new Ventana( );
} } continuaremos con el ejemplo de hilos ….













zeika escribió
men por cierto por que no intentas uno sin applet??
por lo demas todo bien salu2
felix escribió
como hago para cambiar un programa de c++ a c#
felix escribió
porque tengo un problema con un programa que lo necesito en c# y me aparece en c++ es referente a hacer un reloj y lo que quiero cambiar es esto lo quiero convertir
#include
#include
#include
#include
void main(void)
{
int h=0,m=0,s=0;
clrscr();
//Seteamos Hora, Minuto y Segundo
printf(“Introduce la hora: “);
scanf(“%d”,h);
printf(“\nIntroduce los minutos: “);
scanf(“%d”,m);
printf(“\nIntroduce los segundos: “);
scanf(“%d”,s);
//<:– Contador de Horas
while(h<24)
{
//<:– Contador de Minutos
while(m<59)
{
//<:– Contador de Segundos
while(s<59)
{
delay(1); // El Delay es el retardo
// para los segundos el
// valor normal es 1000
// ya que esta en milisegs.
s=s+1; // Incrementamos en 1 los segundos
gotoxy(17,10); // Seteamos el cursor en 17,10
printf("%d",s); // Imprime en pantalla el incremento
}
s=0; // Hacemos S=0 para comenzar el nuevo minuto
m=m+1; // Incrementamos en 1 los minutos
gotoxy(13,10); // Coordenadas X y Y
printf("%d",m); // Imprime el nuevo valor de los min.
}
m=0; // Hacemos M=0 para comenzar la nueva Hora
h=h+1; // Incrementamos en 1 las horas
gotoxy(10,10); // Coordenadas X y Y
printf("%d",h); // Imprimimos la nueva hora
if(h==24) h=0; // Si despues del incremento, la hora es = 24
// Regresar el contador a 0
}
getch();
}
alma escribió
Como puedo hacer con un solo programa q vengan con if for y while
alma escribió
pero es en JAVA