[python] global interpret lock.

Jan Matejka matejka na cat.cz
Čtvrtek Září 25 19:36:30 CEST 2003


Ano je to nativni OS thread.

Pokud thready bezi v cistem interpreteru tak aby se podelily o
interpretr, prepina jadro pythonu mezi nimi  po nekolika instrukcich
metakodu. Nejsou tedy schedulovany pouze OS ale take jadrem pythonu.
V praxi nastesti jsou volany casove narocne vstupne-vystupni operace. Na
zacatku takoveto operace (pri niz neni treba interpreteru) se thread
explicitne vzda pozadavku na interpretr a pri ukonceni operace se opet k
interpretru prihlasi. Behem IO operace je tento thread schedulovan pouze
OS a nijak ostatni pythonove thready neblokuje.

Napsal jsem to tak jak se mi to jevi podle pokusu. Pokud je v nejakem
bode chyba prosim o opravu.
Jan Matejka


-----Original Message-----
From: python-bounces na py.cz [mailto:python-bounces na py.cz] On Behalf Of
Radim Kolar
Sent: Thursday, September 25, 2003 1:54 PM
To: Ceska Pytoni konference
Subject: [python] global interpret lock.


Pri procitani diskuzi na Netu jsem narazil a diskuzi ohledne threadu v
Pythonu a tzv. globalniho zamku interpretru,  ktery Python pouziva, coz
se mnoha lidem zjevne vubec nelibi.

Nejsou mne jasne dve veci:
 a) pokud vytvorim v pythonu thread, stane se z nej OS native thread?
 b) bezi tyto thready opravdu soucasne nebo Python mezi nimi dela
interni preemtivni multithreading (bezi jen jeden z nich)?





Další informace o konferenci Python