|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : John Lepikhin 2:5070/156.1 09 Oct 2007 22:46:19 To : Orlovsky Alexander Subject : Re: reference count -------------------------------------------------------------------------------- ## On Tue, 09 Oct 2007 11:19:27 +0900 ## Orlovsky Alexander wrote to John Lepikhin: JL>> Как известно, сборщик мусора в Перле основан на подсчете ссылок JL>> на область данных. А вот можно ли из кода узнать, сколько на JL>> переменную ссылок? OA> Hемного не по теме, но просто интересно. А зачем это может быть OA> нужно? Кэшируются результаты $dbh->prepare (т.е. $sth). Подсчет указателей нужен, чтобы узнать, занят ли текущий $sth где-нибудь в коде, или можно его отдать в использование. В ином случае, создать новый $sth персонально для данного обращения к функции. Делать уведомление об освобождении $sth не хочется: придется ручками по всему коду отслеживать. Да, это не сработает для кода ($sth и $sth1 находятся в одной области видимости, undef $sth не зовется, но на момент определения $sth1 хэндлер уже свободен): my $query = 'select 1'; my $sth = get_sth_for (\$query); # что-то сделать с $sth, дальше он уже не нужен my $sth1 = get_sth_for (\$query) Однако, должно работать для (на момент выполнения цикла, $sth еще нужен): my $query = 'select 1'; my $sth = get_sth_for (\$query); for (...) { my $sth1 = get_sth_for (\$query); ... } -- mailto: john@{7!+30}.info. I am at home now. --- Gnus/5.110006 (No Gnus v0.6) XEmacs/21.4.19 (linux) * Origin: ISPsystem (2:5070/156.1) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/3302f57db288.html, оценка из 5, голосов 10
|