Форум сайта python.su
Я читал когда-то, что у питона интимные отношения с мультипоточкой. И в процессе, состоящем из десятка питоновских потоков всегда активен только один. Долгое времмя меня это не волновало. Зимой, став счастливым обладателем ноута с core 2 duo увидел, что это воистину так. Пока что выходы из положения только:
- плодить специализированные процессы в случае сервиса
- делать чистые С++ потоки в клиенте
- отпускать python global lock при длинных чтениях/записях в extended модулях.
Кто еще что посоветует?
Офлайн
AFAIR, ГвР предлагает использовать процессы, а не потоки. Так что вариант #1 выглядит наиболее “прямым”.
Офлайн
Ага. А особенно хорошо рекомендация с многопроцессностью помогает при разработки продукта вроде 3D игры. Процесс на программную логику, процесс на отрисовку, процесс на физику, процесс на работу с сетью, пул процессов на компьютерные персонажи и проч. :)
Офлайн