Russian Apache Switch to English
Switch to Russian koi8-r
windows=1251
cp-866
iso8859-5
Russian Apache Как это работает Рекоммендации Где взять Как установить Как настроить Статус и поддержка
Краткий обзор FAQ Список рассылки Благодарности Поиск по серверу Powered by Russian Apache
Russian Apache mailing list archive (apache-rus@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [apache-talk] Sending poor GIF from buffer :0)



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 ] [ Как это работает ] [ Рекомендации ] [ Где взять ] [ Как установить ] [ Как настроить ] [ Статус и поддержка ] [ Краткий обзор ] [ FAQ ] [ Список рассылки ] [ Благодарности ] [ Поиск по серверу ] [ Powered by Russian Apache ] [ Apache-talk archive ]

"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.