Господа, никто не подскажет, где можно доходчиво почитать и посмотреть на примерах такое чудо ?
Насколько я понимаю, это называется форки(вилки). Вот вчера захотел попробовать, но нифига не получилось :(
lorienНасчет форков теперь понятно :)
http://docs.python.org/library/threading.html
Треды - это не форки. Форк - это когда процесс раздваивается, а треды - это нити, выполняющиеся параллельно внутри одного процесса.
lorienХм… Никогда не задумывался, но питоне просто нет вилок. А как красиво бы было…
Форк - это когда процесс раздваивается
if fork():
work()
elif fork():
work()
else:
work()
diam123И не увидишь.
но вот подьема скорости так и не увидел
ZZZЭто не дефект, а фича. Отсутствие GIL решает одни проблемы, но порождает другие, что в своё время доказал вариант CPython с локальными локами.
И имя ему GIL (Global Interpreter Lock). Вернее это дефект не языка, а конкретной реализации – CPython.
lorienХм… Спасибо, буду знать… Но в реали такое не использовать…
Почему нет?
http://docs.python.org/library/os.html#os.fork
DaevaornПомним, разбирали… Вот только если бы нормально можно было загрузать несколько ядер… Блин, multiprocessing мне кажется не очень удобным и красивым! Но выбора в общем-то нет.
Это не дефект, а фича. Отсутствие GIL решает одни проблемы, но порождает другие, что в своё время доказал вариант CPython с локальными локами.
slav0nicСенкс, глянем…
http://code.google.com/p/python-distributed/
ещё ссылка по сабжу. набор всяких бенчмарков
slav0nicА можно плиз пример кода , где это работает, я пытался создать локальный queue, и передавал его в потоки, по идее оно должно было бы дать ускорение, но я его не увидел :(
+не вижу проблемы с запуском потока в потоке