On Wed, 22 Sep 1999, Alex Tutubalin wrote:
>
> >> Чем плохи threads, что при их появлении надо "двигаться прочь" от
> >> Апача?
> alr> это круто, а на самом деле написать хорошую программу с их использованием
> alr> много сложнее (в смысле надо быть куда менее чайником) чем без них.
> Hе так и много тут гитик, дpугой вопpос - насколько это надо.
> Hавскиду я вижу только одну пpоблему - будет куча пpоблем с не thread-safe
> модулями. Модификация таблиц вpучную и все такое пpочее.
Вот это я и имел в виду под "много сложнее" И парой абзацев ниже
"программировать аккуратнее придется".
> Пpеимущество тоже очевидное - тот же apache+mod_perl может pаздуваться хоть до
> 200M (а если цены на память понизятся до августовского уpовня, то хоть до 500М)
> и это никого не будет сильно неpвиpовать т.к. копия пpоцесса будет одна.
Вот от этого я бы не отказался, но боюсь что раздуваться он будет на
порядок сильнее, поскольку то что сейчас является локальным для процесса
(и, соответственно, всячески защищено от посягательств других процессов)
придется делать локальным для thread со всеми вытекающими.
Не говоря уж о том, что "программировать аккуратнее придется". Да я просто
повешусь делая свои 3511 строк перлового кода thread-safe.
Правда, будет один большой и толстый плюс - при модификации через
web-интерфейс чего-то, что сейчас кэшируется в памяти всеми копиями httpd
более-менее независимо, не потребуется апач передергивать, поскольку та
копия (точнее thread), через которую это изменили, будет в состоянии
поменять кэш, общий для всех. Поэтому мне таки придется переделывать эти
3511 строк на предмет thread-safety.
> alr> В общем, threads под unix - признак воинствующего чайника, почему и надо
> alr> от них бежать,
> Это не так. Один из пpимеpов - CommunigatePro. И ведь действительно тpебует
> меньших pесуpсов :)
Скажем так, бывают исключения. Как правило это программы, ноги у которых
растут из NT. (или из design-time требования обеспечить порт на NT).
Но в массе своей программы на C++ написаны людьми не знающими ни C, ни
C++, ни разницы между ними, а программы с threads людьми, которые не
умеют корректно писать и для более простых механизмов обеспечения
параллельности, таких как fork.
Поэтому, встретив программу которая пользуется threads возникает желание
сначала убежать куда подальше, потом, с безопасного расстояния на нее
поглядеть и понять, было ли использование threads обоснованным решением
вообще, и корректна ли реализация, а только потом пытаться пользоваться.
--------------------------------------------------
Victor Wagner vitus@xxxxxx
Programmer Office:7-(095)-203-51-19
Institute for Commerce Home: 7-(095)-135-46-61
Engineering http://www.ice.ru/~vitus
=============================================================================
= Apache-Talk@xxxxxxxxxxxxx mailing list =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.