[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico]
[Índice de assunto]
Re: dormindo threads
- Subject: Re: dormindo threads
- From: Francisco Reverbel <reverbel at ime.usp.br>
- Date: Fri, 10 May 2002 19:13:40 -0300 (EST)
Rodei os programas de teste que o Fábio e o Danilo mandaram para a
lista, com o mesmo resultado: o sleep() não afetou o processo como
um todo, só a thread que o chamou. Como isso pode ser uma coisa
específica da implementação de pthreads do Linux, fui experimentar
também no Solaris. Aconteceu a mesma coisa.
Agora eu estou tão confuso quanto vocês.
Existem por aí textos que afirmam que o sleep() afeta o processo como
um todo. Este é um deles:
http://dis.cs.umass.edu/~wagner/threads_html/sect2.html
(Essa página faz parte de um tutorial sobre pthreads que começa em
http://dis.cs.umass.edu/~wagner/threads_html/. Uma versão postscript
está disponível em ftp://dis.cs.umass.edu/pub/pthreads.ps.)
Eu não sei se algo mudou no padrão pthreads depois que esses textos
foram escritos, ou se comportamento do sleep() no Linux e o Solaris
é uma coisa específica desses sistemas e não garantido pelo padrão
pthreads. Me parece que a segunda alternativa é a mais provável.
Nesse caso o programa que usar sleep() para fazer uma thread "dormir
sozinha" é não portável, só funcionando em sistemas cuja implementação
de pthreads tenha esse comportamento.
Reverbel