Norman Natloff tiene unos tutoriales guapos y unos de ellos va sobre los threads: Tutorial on Threads Programming with Python.
Unos apuntes breves:
- Hay 2 modulos, thread y threading; siendo el segundo de mas alto nivel.
- No me mirado los modulos en detalle, pero el módulo threading se ve bastante completito: tiene locks, rlocks, semáforos, variables de condición, un recubrimiento sobre las variables de condición (Event) y timers. Pero sobre todo una clase para mi muy interesante Queue.
- No se puede hacer multiproceso real con python, es decir sólo estará un thread ejecutandose y los threads son 'not pre-empted'. Es el interprete a través de un componente llamado GIL el que determina la planificación (bien porque un thread ha estado corriendo durante un determinado tiempo o bien por una operación E/S). Hay criticas al GIL... quizas en un futuro desaparezca.
- Para depurar se puede usar PDB pero con unas limitaciones (también existe RPDB (bueno ya obsoleto... la evolución es winpdb))
No hay comentarios:
Publicar un comentario