|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Victor Wagner 2:5020/400 15 Apr 2002 15:11:36 To : "Igor Gerdler" Subject : Re: Замечание и свой вариант -------------------------------------------------------------------------------- Igor Gerdler <perl@doreworld.com> wrote: IG> Добрый день, уважаемый Владимир! >> > Вопрос не совсем перловый, скорее по теории программирования, и все же: IG> Хотя Nelly и написала, что вопрос не связан с Perl, тем не менее есть IG> нюансы: >> my $uniq = time . $$; >> >> PID процесса в момент времени time() есть величина заведомо уникальная. IG> Кроме случая использования mod_perl где pid процесса может не изменятся IG> очень долго :о) PID есть величина уникальная. Т.е. в каждый момент времени time существует ровно один экземпляр апача с mod_perl, имеющий данный pid. Если скрипт, обрабатывающий запрос выполняется не менее секунды, то этот совет подходит. Если более, то можно воспоользоваться модулем Time::Hires и брать время с точностью заведомо превышающей скорость обработки запроса. Тогда сочетание момента времени с номером процесса будет уникальным. А можно завести в каждой копии модперла глобальную переменную-счетчик, которую увеличивать на единицу если предыдущий запрос был обработан в ту же секунду, что и текущий, и сбрасывать в 0 если секунда изменилась. Тогда time.$counter.$$ будет уникальным, а $counter скорее всего - однозначным. -- http://www.communiware.ru http://www.ice.ru/~vitus --- ifmail v.2.15dev5 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/15178323068a6.html, оценка из 5, голосов 10
|