[python] sockety - problem s HTTP spojenim
Jan Kundrát
jkt na gentoo.org
Středa Listopad 28 21:22:14 CET 2007
Filip Ĺ tÄdrosnkĂ˝ wrote:
> 1) myslel jsem, Ĺže se nejednĂĄ o threaded aplikaci ale asyncore/asynchat,
> alespoĹ jsem to tak z kontextu pochopil
Aha, ja jsem tak nejak predpokladal, ze asyncore.loop() pobezi ve svem
threadu, pardon.
> 2) stringy jsou nemÄnitelnĂŠ, takĹže to nenĂ append, ve skuteÄnosti se
> spojĂ, vytvoĹĂ se novĂ˝ string a ten se teprve pĹiĹadĂ, to uĹž atomickĂĄ
> operace je
No, mohl bych poprosit o referenci na nejaky zdroj, ktery tvrdi, ze od
zacatku provadeni vyrazu "buffer += foo" az po jeho dokonceni se
nedostane ke slovu jiny thread?
Problemem v dane situaci je prave moznost prepnuti do jineho threadu
mezi "spojenim stringu" a "prirazenim do promenne". Netvrdim, ze to
shodi interpret, ale ze v promenne buffer mohou byt necekana data.
Vzhledem k tomu, ze se celkem bezne [1] tvrdi, ze += 1 na int *neni*
atomicke, tak soudim, ze append na (immutable) stringy rovnez nebude.
> 3) vzhledem k pythonĂmu GIL je vĹĄe (mnohdy aĹž pĹĂliĹĄ) thread-safe a pokud
> nepouĹžĂvĂĄte nÄjakĂŠ neobvyklĂŠ C extenze, nemusĂte zamykat skoro nic
Silne nesouhlasim, viz znovu [1]. Dalsi vygoogleny odkaz je thread [2].
[1] http://effbot.org/zone/thread-synchronization.htm
[2] http://mail.python.org/pipermail/python-list/2000-April/030896.html
Hezky vecer,
-jkt
--
cd /local/pub && more beer > /dev/mouth
------------- další část ---------------
NetextovĂĄ pĹĂloha byla odstranÄna...
JmĂŠno: signature.asc
Typ: application/pgp-signature
Velikost: 252 bytes
Popis: OpenPGP digital signature
Url : http://www.py.cz/pipermail/python/attachments/20071128/dfa078a5/attachment.pgp
Další informace o konferenci Python