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
A propósito, acabei de encontrar isso:
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/65222
Jonas
Isso resume bem a minha opinião:
http://simon.incutio.com/archive/2003/12/05/dataDriven
Jonas