[Moscow.pm] use Thread vs threads

Ivan Petrov i.petro.77.00 на gmail.com
Вт Янв 19 09:39:09 PST 2016


> Ok.
> А, что тогда не зло?

fork

> Наверное процессы (fork)?
> Тогда геморойно с обмен общими данными.

но это единственный способ.

в общих чертах суть в следующем. в обычном скриптовом языке,
допускающем глобальные переменные (= переменные в области видимости)
банально невозможно реализовать мултитред, так чтобы не вводить
ограничения в язык с одной стороны и не сегфолтить с другой.

выходов ровно два: либо mutex внутри каждого скаляра, либо глобальный
mutex в сочетании с mutex к функциям 

что в традиционной однотредовой программе приводит к диким потерям
производительности.

соответственно я пока не видел скриптового языка, в который воткнули
треды и это работает.
треды либо изначально есть в языке, либо их втыкают со значительными
ограничениями на сам язык. другого варианта нет.
поэтому тредов никогда не будет ни в питоне ни в перле ни в руби ни в
прочих языках такого же уровня.

насчет "геморройно" - ответ такой: пробуйте Go, пробуйте Erlang. в них
геморройно нечто другое. однако с тредами (и даже хостами) все хорошо


Подробная информация о списке рассылки Moscow-pm