Grupos de Google ya no admite nuevas publicaciones ni suscripciones de Usenet. El contenido anterior sigue siendo visible.

cornometro tal dia a tal hora

Visto 0 veces
Saltar al primer mensaje no leído

manzanita

no leída,
13 abr 2001, 22:51:1513/4/01
a
el otro día genere un programa llamado segunder.pl

&segundero;
sub segundero {
sleep 1;
$segundos++;
print "$horas:$minutos:$segundos\n";
if($segundos == 60) {
$segundos = 0;
$minutos++;
}
elsif ($minutos == 60){
$minutos = 0;
$horas++;
}
&segundero;
}

para saber cuanto me demoraba en ir a
comprar unos cigarrillos. (0:8:32hrs)
el caso esta en que si yo lo hubiera corrido
en un servidor web, hubiera tenido recursos de sistema
atrapados en este script.

que hubiera pasado si necesito que a los diez minutos
me envie a mi celular un mail que el jefe viene.
así que debo correr para llegar a la oficina.
no puedo tener el procesador atrapado en este script.
hay otras cosas en que se debe ocupar.

como lo debe hacer un mortal comun y corriente como
yo, que no tiene acceso a nada más que la carpeta cgi-bin
y a #!usr/bin/perl o user/sbin/sendmail pero que no viene al caso.


grax :)

#-------------------------------------#
todavía no se me ocurre nada.

rle...@dcc.uchile.cl.esto.no.va

no leída,
14 abr 2001, 12:33:0014/4/01
a
manzanita <manzanitaxx@[][]hotmail.com> wrote:
> el otro día genere un programa llamado segunder.pl

> &segundero;
> sub segundero {
> sleep 1;
> $segundos++;
> print "$horas:$minutos:$segundos\n";
> if($segundos == 60) {
> $segundos = 0;
> $minutos++;
> }
> elsif ($minutos == 60){
> $minutos = 0;
> $horas++;
> }
> &segundero;
> }


Eso es lo que se llama un "Busy Waiting".
Es decir "Ocupado esperando".
ESO ES UNA ATROCIDAD EN PROGRAMACION.

Por que no usas las funciones de alarm que estan disponibles en perl.
Y asi programas el reloj del SO para que haga el trabajo.


> para saber cuanto me demoraba en ir a
> comprar unos cigarrillos. (0:8:32hrs)
> el caso esta en que si yo lo hubiera corrido
> en un servidor web, hubiera tenido recursos de sistema
> atrapados en este script.

> que hubiera pasado si necesito que a los diez minutos
> me envie a mi celular un mail que el jefe viene.
> así que debo correr para llegar a la oficina.
> no puedo tener el procesador atrapado en este script.
> hay otras cosas en que se debe ocupar.

> como lo debe hacer un mortal comun y corriente como
> yo, que no tiene acceso a nada más que la carpeta cgi-bin
> y a #!usr/bin/perl o user/sbin/sendmail pero que no viene al caso.


> grax :)

> #-------------------------------------#
> todavía no se me ocurre nada.

--
Ricardo J. Lemus C.
mailto:rlemus[@]dcc.uchile.cl Rick Imp Comics Mud (mud.cec.uchile.cl 4040)
Facultad de Ciencias Fisicas y Matematicas Universidad de Chile

"No me gusta que otros me hagan perder el tiempo, mas a mi me encanta
perderlo en lo que yo quiera"
YO

manzanita

no leída,
14 abr 2001, 17:40:1914/4/01
a
> Eso es lo que se llama un "Busy Waiting".
> Es decir "Ocupado esperando".
> ESO ES UNA ATROCIDAD EN PROGRAMACION.
>

100% de acuerdo contigo.
es más por eso posteo esto para pedir ayuda.

> Por que no usas las funciones de alarm que estan disponibles en perl.
> Y asi programas el reloj del SO para que haga el trabajo.
>

podrías enseñareme como. y si es posible con manzanitas
y peritas. osea para una persona mortal común y corriente que no
tiene acceso más que a #!usr/bin/perl

grax

alvh...@chile.webhost.cl

no leída,
20 abr 2001, 2:01:0520/4/01
a
rle...@dcc.uchile.cl.esto.no.va escribio':

> manzanita <manzanitaxx@[][]hotmail.com> wrote:
>> el otro día genere un programa llamado segunder.pl

>> &segundero;
>> sub segundero {
>> sleep 1;
>> $segundos++;
>> print "$horas:$minutos:$segundos\n";
>> if($segundos == 60) {
>> $segundos = 0;
>> $minutos++;
>> }
>> elsif ($minutos == 60){
>> $minutos = 0;
>> $horas++;
>> }
>> &segundero;
>> }

> Eso es lo que se llama un "Busy Waiting".
> Es decir "Ocupado esperando".
> ESO ES UNA ATROCIDAD EN PROGRAMACION.

Por que? El programa no tiene nada mas que hacer...

> Por que no usas las funciones de alarm que estan disponibles en perl.
> Y asi programas el reloj del SO para que haga el trabajo.

Aqui tienes una excelente manera de ocupar toda la CPU:

#!/usr/bin/perl -w

$segundos=$minutos=$horas=0;

$SIG{ALRM}=\&tick;
&tick;

while (1)
{
}

sub tick
{


$segundos++;
print "$horas:$minutos:$segundos\n";
if($segundos == 60)
{
$segundos = 0;
$minutos++;
}
elsif ($minutos == 60){
$minutos = 0;
$horas++;
}

alarm(1);
}

En cambio esta otra, que esta "busy waiting" todo el tiempo, no ocupa nada de
CPU:

#!/usr/bin/perl -w

$segundos=$minutos=$horas=0;

$SIG{ALRM}=\&tick;
&tick;

while (1)
{
sleep 100;
}

sub tick
{


$segundos++;
print "$horas:$minutos:$segundos\n";
if($segundos == 60)
{
$segundos = 0;
$minutos++;
}
elsif ($minutos == 60){
$minutos = 0;
$horas++;
}

alarm(1);
}

--
Alvaro Herrera (<alvherre[@]webhost.cl>)
"Un poeta es un mundo encerrado en un hombre" (Victor Hugo)

d_kroma

no leída,
23 abr 2001, 13:29:0723/4/01
a
Construye un shell script
con librerias y funciones como :
awk
sleep
date
time
usa el man con estos 4 y sabras como.
.
chao ( )
X

manzanitaxx@[][]hotmail.com (manzanita) wrote in article
<manzanitaxx-ya02408...@news.chilesat.net> :

_______________________________________________
Submitted via WebNewsReader of http://www.interbulletin.com

0 mensajes nuevos