Python sans empilage et non utiliser n'importe quel environnement multicœur sur lequel il s'exécute.
Il s'agit d'une idée fausse commune à propos de Stackless, car elle permet au programmeur de tirer parti de la programmation par thread. Pour beaucoup de gens ces deux sont étroitement liés, mais sont, en fait, deux choses distinctes.
En interne, Stackless utilise un planificateur round-robin pour planifier tous les tasklet (micro-threads), mais aucune tâche ne peut être exécutée simultanément avec une autre. Cela signifie que si une tasklet est occupée, les autres doivent attendre jusqu'à ce que cette tasklet abandonne le contrôle. Par défaut, le planificateur n'arrête pas une tâche et donne l'heure du processeur à un autre. Il est de la responsabilité de la tâche de se replacer à la fin de la file d'attente de planification en utilisant Stackless.schedule(), ou en finissant ses calculs.
toutes les tâches sont donc exécutées de façon séquentielle, même lorsque des cœurs multiplets sont disponibles.
La raison pour laquelle Stackless n'a pas de support multi-cœur est que cela facilite beaucoup les threads. Et cela est juste ce que stackless est tout au sujet:
from the official stackless website
Stackless Python est un amélioré version de la programmation Python langage. Il permet aux programmeurs de profiter des avantages de la programmation à base de threads sans les performances et les problèmes de complexité associés avec les threads conventionnels. Les microfiletages que Stackless ajoute à Python sont un pas cher et léger commodité qui peut si elle est utilisée correctement , donner les avantages suivants:
- structure du programme amélioré.
- Code plus lisible.
- Augmentation de la productivité des programmeurs.
Voici un link à un peu plus d'informations sur plusieurs cœurs et stackless.
alias Coopérative multitâche .. –