ли это и лучше ли начать учить тогда джаву/котлин?
не совсем так, GIL конечно это проблема для мультитредов но вот в 3.8 появились сабинтепретаторы. то есть вполне можно работать. Но если тебе нужно реально нагруженные процессы то лучше выбрать что-то более скоростное, пиши сразу на плюсах
эм... разве в 3.8?
Спасибо за ответ!)
тонкий намек на то что не появились и перенесены на 3.10
врут
основная проблема это одновременное использование памяти из разных потоков. В питоне есть способы это обойти или заменить. просто они не шибко быстрые. В 3.8+ это дело старабтся порешать через шаринг мемори и всё такое. В общем процесс идет.
опять таки смотря на каких задачах. GIL далеко не всегда проблема.
ну это точно. просто берем за самое больное место в этом вопросе
да нет, автор услышал какую-то чушь, не разобрался. а страшный GIL его еще больше в заблуждение сейчас введет.
TL;DR в питоне вполне себе полноценные потоки, потоки операционной системы. есть некоторые нюансы с CPU-bound задачами и распараллеливанием их на несколько CPU.
@ThreeStripe_Raccoon это сообщение было адресовано тебе.
эти потоки будут работать по очереди а не вместе если GIL из лочит. Он будет лочить в определённых ситуация, а в других не будет. Если в этом разобраться то всё будет норм. А если юзать сабинтерпретаторы то там у каждого свой GIL и они не пересекаются. На сколько я понял сообщения между потоками щас делается через сериализацию пиклом, и это медленно, особенно если через файлы. И щас уже можно перекидывать быстро непосредственно линком на память, но всё равно через сериализацию. Могу ошибаться. Короч нечего тут бояться, протсо надо в вопросе разобраться. Причем мне тоже, я до сих пор знаю только примерно(
Да, я правда не особо разбирался, так что спасибо
что значит "по очереди, а не вместе". что за чушь?
если идет обращение к одним и тем же данным то GIL не даст это сделать одновременно
ухты, то есть в классической многопоточной модели доступ к разделяемым данным синхронизировать не нужно?
и да, если у тебя 1 CPU все потоки априори не могут выполняться параллельно
на будущее: 1. перестань нести чушь в областях, в которых ты очевидно некомпетентен. 2. перестань использовать расплывчатые формулировки.
Не всегда понимаю, зачем использовать многопоток, если тот же мультипроцессинг есть
как минимум для IO-bound задач, не?
кроме того у потоков, как ты наверное знаешь, общее адрессное пространство.
Обсуждают сегодня