<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Несколько &apos;таймеров&apos;</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9122.html</link>
    <description>Суть: нужно создать несколько (в идеале до бесконечности) &quot;таймеров&quot;.&lt;br&gt;То есть я хочу, чтобы в рамках одного процесса разные функции вызывались с различными интервалами.&lt;br&gt;К примеру:&lt;br&gt;sub f1 &#123;&lt;br&gt;print STDOUT &quot;Func1&#092;n&quot;;&lt;br&gt;&#125;&lt;br&gt;sub f2 &#123;&lt;br&gt;print STDOUT &quot;Func2&#092;n&quot;;&lt;br&gt;&#125;&lt;br&gt;Чтобы, скажем, f1 вызывалась раз в 4 секунды, а f2 раз в 9 секунд.&lt;br&gt;&lt;br&gt;Читал про Time::HiRes и setitimer в нем, но, кажется, оно меня не спасет.&lt;br&gt;Подскажите, плз.&lt;br&gt;</description>

<item>
    <title>Несколько &apos;таймеров&apos; (ACCA)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9122.html#2</link>
    <pubDate>Wed, 11 May 2011 13:23:33 GMT</pubDate>
    <description>Сделай что-нибудь в духе Discrete Event Simulation:&lt;br&gt;&#091;code&#093;&lt;br&gt;my $time = 0;&lt;br&gt;sub func1&#123; print &quot;func1: $time&#092;n&quot;; &#125;&lt;br&gt;sub func2&#123; print &quot;func2: $time&#092;n&quot;; &#125;&lt;br&gt;&lt;br&gt;my &#037;sch = (&lt;br&gt;    ev1 =&amp;gt; &#123; INT =&amp;gt; 4, C =&amp;gt; 4, DO =&amp;gt; &#092;&amp;func1 &#125;,&lt;br&gt;    ev2 =&amp;gt; &#123; INT =&amp;gt; 9, C =&amp;gt; 9, DO =&amp;gt; &#092;&amp;func2 &#125;&lt;br&gt;);&lt;br&gt;&lt;br&gt;while (1) &#123;&lt;br&gt;    my $ntime = LONG_MAX;&lt;br&gt;    foreach my $k (keys &#037;sch) &#123;&lt;br&gt;        $ntime = $sch&#123;$k&#125;&#123;C&#125; if ($ntime&amp;gt; $sch&#123;$k&#125;&#123;C&#125;);&lt;br&gt;    &#125;&lt;br&gt;    sleep($ntime-$time);&lt;br&gt;    $time = $ntime;&lt;br&gt;    foreach my $k (keys &#037;sch) &#123;&lt;br&gt;        if ($sch&#123;$k&#125;&#123;C&#125; &amp;lt;= $time) &#123;&lt;br&gt;            $sch&#123;$k&#125;&#123;C&#125; += $sch&#123;$k&#125;&#123;INT&#125;;&lt;br&gt;            &amp;&#123;$sch&#123;$k&#125;&#123;DO&#125;&#125;;&lt;br&gt;        &#125;&lt;br&gt;    &#125;&lt;br&gt;&#125;&lt;br&gt;&#091;/code&#093;&lt;br&gt;</description>
</item>

<item>
    <title>Несколько &apos;таймеров&apos; (ACCA)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9122.html#1</link>
    <pubDate>Tue, 10 May 2011 23:32:44 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;</description>
</item>

</channel>
</rss>
