Автор Тема: Python GIL  (Прочетена 1675 пъти)

4096bits

  • Напреднали
  • *****
  • Публикации: 6152
    • Профил
Python GIL
« -: Oct 26, 2015, 10:40 »
Одеве попаднах на една статия относно Global Interpreter Lock и малко се притесних
Още ли съществува това животно и как стои въпроса със Multithreads
Доколкото разбрах, това не позволява повече от едно thread да се изпълнява едновременно. Нещо за защита но данните.
Статията беше от 2012та
Ето и линк
http://www.jeffknupp.com/blog/2013/06/30/pythons-hardest-problem-revisited/
« Последна редакция: Oct 26, 2015, 12:19 от 4096bits »
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Python GIL
« Отговор #1 -: Oct 26, 2015, 17:51 »
Съществува. Това не означава че  нишките в питон не могат да се изпълняват конкурентно по принцип, проблемът е в memory management-а на питона, който не е thread-safe. Съответно операции, които "зад кулисите" водят до освобождаване на памет имплицитно включват синхронизация, реализирана на по-ниско ниво с мутекси. Това може да е проблем, може и да не е проблем, в повечето случаи не е толкова тежка драма, колкото се изкарва (субективно мнение базирано на моите си частни случаи).


Съвсем друг е въпроса че многонишковото програмиране в python е огромен ташак, примерно няма нормален thread cancelation, няма го удобството да споделяш лесно памет между нишките (с Queue-та е неудобно и бавно) - аз дори лично опрях дотам да го правя с mmap-нати файлове в един момент, синхронизационните му примитиви са кастрирани и малоумни - примерно рекурсивни мутекси в python - хах, като цяло threading-а в питона е лееееко жалка работа особено ако си свикнал с posix threads в C.
Активен

"Knowledge is power" - France is Bacon

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Пакетиране на python скрипт
Общ форум
pink 0 2914 Последна публикация Jul 12, 2007, 15:34
от pink
Python 3.1.2
Настройка на програми
fatalerrorbg 10 4988 Последна публикация Aug 30, 2010, 14:39
от bop_bop_mara
Проблем с Python
Настройка на програми
f1r3fl3x 4 3827 Последна публикация Jun 23, 2011, 22:25
от f1r3fl3x
Алгоритъм от Python в PHP.
Web development
bohosh 3 3277 Последна публикация Feb 23, 2014, 18:45
от gat3way
Искам да се зарежда python 3.7 вместо python 2.7
Web development
3p0 36 17845 Последна публикация Dec 27, 2019, 00:49
от 4096bits