Interpret pythonu upouziva jeden globalni zamek pro pristup ke vsem promennym. AFAIK vlakna ma v pythonu smysl pouzivat jedine pro kod z externich knihoven nebo pri (ne)cekani na blokujici operace. Na vytizeni vice jader samotnym pythonem je potreba odforkovat cele instance interpretru.
vepro (Thursday 18 November 2010 16:31:03): > Pratele, > Napsal jsem si aplikaci, ktera vyuziva vlakna v pythonu (modul > threading). Muzu libovolne volit od jednoho vlakna az po X vlaken. Co se > deje je, ze pokud spustim kod pouze na jednom vlakne je uloha dokoncena > o dost rychleji, nez pokud ji pustim na vice vlaknech. Tusim, ze nejaky > cas zabere "rezie" ,ale v tomto bych to nehledal. Procedury v > jednotlivych vlaknech jsou temer nezavisle (pouze jeden zamek u > "sdilene" promenne). Co je mi divne a myslim, ze v tom je zakopan pes, > ze vyuziti procesoru je zhruba stejne (100%) pro ulohu bezici v jednom, > tak i ve vice vlaknech. Vypada to tak, ze vice vlaken vyuziva pouze > jedno jadro procesoru (onech 100%), tak jako jednovlaknovy proces. Je > tedy nutne nejak pythonu "rici", ze ma vyuzivat vice jader pro vlakna? > Dekuji za pripadnou radu > Petr > _______________________________________________ > Python mailing list > Python@py.cz > http://www.py.cz/mailman/listinfo/python _______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python