[python] zamykani jednoho vlakna druhym
Karol Tarcak
ktx na matfyz.cz
Středa Srpen 15 12:50:47 CEST 2007
Zdravim,
takyto postup nemozno nazvat riesenie, ale hnusna "praktika" =>
nespolahlive, nebezpecne, nepredvidatelne vysledky ...
Odporucam pozriet dokumentaciu [1] a clanok [2],
pre lenivych:
import threading
# "alokujem" zamok
lock=threading.Lock()
# zamknem (a zaroven cakam kym nebude odomknuty)
lock.acquire()
do_something()
# odomknem
lock.release()
Trochu googlenia by nezaskodilo, napr. pod heslom "python thread lock
example"
Karol
[1] http://docs.python.org/lib/module-threading.html
[2] http://linuxgazette.net/107/pai.html
On Tue, Aug 14, 2007 at 07:02:03PM +0200, Jirka Vejrazka wrote:
> caute mam maly problem mam dve vlakna urobene cez threading a
> potrebujem jedno vlakno uzamknut na chvilku druhym da sa to nejako?
>
> Nevim co znamena "uzamknout" a nikdy jsem neresil podobny problem, ale
> vzhledem k tomu ze vlakna sdileji globalni promenne by nemel byt problem v
> jednom vlakne nastavit:
>
> vlakna_mutex = True
>
> a v druhem na vhodnem miste:
>
> while vlakna_mutex is True:
> sleep(1)
>
> Tohle by bylo "brutalni reseni" ktere bych zkusil jako prvni.
>
> Neco sofistikovanejsiho je treba tady:
> [1]http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/502283
>
> Jirka
>
> P.S. Je docela dobre takovymto dotazum dat rozumny predmet mailu...
>
> References
>
> Visible links
> 1. http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/502283
Další informace o konferenci Python