окей, итого у нас есть многопоточное приложение на пайтоне, выделили 5 потоков, создались они в ОС, при этом каждый из этих потоков конкурирует за гил?
питоновский код читает из сокета - питон внутри вызывает нужную функцию ОС, так как эта функция написана не на питоне, то гил для неё снимается, и пока она выполняется могут параллельно выполняться другие потоки
правильно ли утверждать что в питоне при многопоточности переключение между потоками происходит по времени или же по колву выполненных инструкций. В асинхронном программировании контекст переключается только в заданных точках переключения(установленных программистом), а не с периодичностью, определенной CPU.
тогда если другой тред попытается интерпретировать питоновский код, он попытается захватить этот лок, но если лок уже захвачен, то поток будет ждать его освобождения
код, который не имеет отношения к интерпретатору питона про этот лок ничего не знает, поэтому может выполняться параллельно интерпретатору питона или другому коду