Re: [python-brasil] setInterval/clearInterval

7 views
Skip to first unread message

Felipe Almeida Lessa

unread,
Feb 26, 2004, 4:56:02 PM2/26/04
to Lista Python Brasil
Em Qua, 2004-02-25 às 09:54, Jonas Galvez escreveu:
[cortei a classe porque ela estava sem tabulação]
> Valeu Felipe. Você poderia elaborar um pouco sobre o script? Existe
> alguma vantagem significante sobre minha implementação? Eu ainda não
> estudei sobre threads no Python. Gostaria de saber se estender a
> classe Thread melhora de alguma forma a seguraça de execução ou
> performance do script.
>
> Eu realmente não queria ter que criar uma classe só para isso. Gosto
> de manter as coisas simples, a interface do setInterval/clearInterval
> é bem fácil de usar.

Não melhora performance, não melhora segurança. Isso é apenas uma
questão de implementação.

Você não pode dizer que não quer classes porque a sua implementação cria
uma nova classe a cada intervalo i de tempo (Timer() é uma classe --
tanto que usa a convenção de primeira letra em maiúsculo para classes).
Isso pode consumir muita CPU, além do trabalho que o Garbage Collector
acaba tendo.

Na minha implementação ocorre somente uma criação de classe, que é
quando você cria o intervalo. O que eu temo é só aquele time.sleep()
ali no meio. Alguém sabe se ele é thread-safe?

Um problema nas duas implementações é que o intervalo só passa a
funcionar depois que a função terminou. Ou seja, se você colocar uma
função que demora 1 minuto para retornar num intervalo de 5 minutos e
deixar rodar 10 vezes, você não vai ter gastado 10*5=50 minutos, e sim
'0*(5+1)=60 minutos. Mas na verdade é simples solucionar essa questão,
é só criar um novo Thread() a cada intervalo e assim liberar a função.

Mas de qualquer forma a questão do time.sleep me assombra.

> Brigadão,

[]'s,
Felipe Almeida Lessa.


Links do Yahoo! Grupos
Para visitar o site do seu grupo, acesse:
http://br.groups.yahoo.com/group/python-brasil/

Para sair deste grupo, envie um e-mail para:
python-brasi...@yahoogrupos.com.br

O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

Jonas Galvez

unread,
Feb 26, 2004, 5:54:30 PM2/26/04
to python...@yahoogrupos.com.br
> [Jonas Galvez]
> No caso do setInterval, usar uma classe é realmente preciso.

A propósito, acabei de encontrar isso:
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/65222


Jonas

Jonas Galvez

unread,
Feb 26, 2004, 6:22:13 PM2/26/04
to python...@yahoogrupos.com.br
> [Felipe Almeida Lessa]
> Na minha escassa experiência eu vejo que as classes costumam ser
> bem grandes no código em que são implementadas mas simples e limpas
> onde são usadas, enquanto o uso de funções mantém estável o nível
> de "complicação". É claro que isso nunca {foi,é,será} uma regra, e
> também é claro que existem exceções. No meu ponto de vista o
> melhor lugar das classes é como um nível de abstração, escondendo
> tudo que existir de nível mais baixo.

Isso resume bem a minha opinião:
http://simon.incutio.com/archive/2003/12/05/dataDriven


Jonas

Reply all
Reply to author
Forward
0 new messages