2016-06-07 1 views
0

Si je choisis de publier le GIL dans un script Cython, quelles considérations dois-je faire?Dangers de libérer le GIL en Cython?

Existe-t-il des dangers ou des risques supplémentaires pour la publication de GIL dans un programme Cython?

Comment spécifier le nombre de threads à générer?

+1

Pourquoi le demandez-vous? Quel est votre cas d'utilisation? Que fait le module d'extension? –

+0

Je suis sincèrement curieux – DolphinGenomePyramids

Répondre

2

Si je choisis de publier le GIL dans un script Cython, que dois-je faire?

Existe-t-il des dangers ou des risques supplémentaires pour la publication de GIL dans un programme Cython?

Vous ne pouvez pas faire quoi que ce soit d'intéressant avec un objet Python. Vous ne pouvez pas faire tout ce qui touche aux données de votre objet en toute sécurité sans savoir qu'il est sûr (éventuellement avec votre propre verrou).

https://docs.python.org/2/c-api/init.html#thread-state-and-the-global-interpreter-lock fournira quelques informations.

Comment puis-je spécifier le nombre de threads à générer?

La création des unités d'exécution est complètement séparée. Vous pouvez le faire avec le module threading ou vous pouvez le faire d'une autre manière.

+0

Je vois merci pour la perspicacité. Semble mieux limiter la libération de la GIL pour les problèmes strictement liés à l'UC avec les types C – DolphinGenomePyramids