<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xml" href="http://www.dzone.com/links/misc/rss.xsl"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dz="http://www.developerzone.com/modules/dz/1.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>dzone.com: queued links: perl</title>
    <link>http://www.dzone.com/links/queue/tag/perl.html</link>
    <description>dzone.com: fresh links for developers</description>
    <language>en-us</language>
    <copyright>Copyright (c) 2008 DZone, Inc.</copyright>
    <pubDate>Sun, 05 Jul 2009 18:51:26 GMT</pubDate>
    <dc:creator>The dzone.com community</dc:creator>
    <dc:date>2009-07-05T18:51:26Z</dc:date>
    <dc:language>en-us</dc:language>
    <dc:rights>Copyright (c) 2008 DZone, Inc.</dc:rights>
    <dz:selfLink>http://www.dzone.com/links/feed/queue/perl/rss.xml</dz:selfLink>
    <image>
      <title>dzone.com: fresh links for developers</title>
      <url>http://www.dzone.com/images/std/dzone.com_258x55.gif</url>
      <link>http://www.dzone.com/links/</link>
    </image>
    <item>
      <title>In defense of Perl ithreads</title>
      <link>http://www.dzone.com/links/rss/in_defense_of_perl_ithreads.html</link>
      <description>People like to point out the problems with Perl's threading, say they're simply the Windows fork-emulation ported to other operating systems and conclude that they're of no use otherwise. They generally omit mentioning the cases in which Perl ithreads are the only viable solution for concurrency in Perl.&#xD;
&#xD;
First, you have to understand the i in ithreads. Read: interpreter threads. Each ithread in your Perl program has its own copy of the whole interpreter. Nothing is shared between the interpreters by default*. Most other threading implementations work the other way around: By default they share everything and the user has to deal with locking of any shared resources. This has many advantages over ithreads. Most obviously, an ithread takes a lot more memory. Furthermore, passing data between ithreads is rather painful and very, very slow. But there is, unfortunately, a big downside to shared-by-default:</description>
      <category>perl</category>
      <pubDate>Sun, 05 Jul 2009 05:16:48 GMT</pubDate>
      <guid isPermaLink="false">http://www.dzone.com/links/199709.html</guid>
      <dc:creator>CodeJustin</dc:creator>
      <dc:date>2009-07-05T05:16:48Z</dc:date>
      <content:encoded><![CDATA[<a href='http://www.dzone.com/links/rss/in_defense_of_perl_ithreads.html'><img src='http://cdn.dzone.com/images/thumbs/120x90/199709.jpg' style='width:120;height:90;float:left;vertical-align:top;border:1px solid #ccc;' /></a><p style='margin-left: 130px;'>People like to point out the problems with Perl's threading, say they're simply the Windows fork-emulation ported to other operating systems and conclude that they're of no use otherwise. They generally omit mentioning the cases in which Perl ithreads are the only viable solution for concurrency in Perl.

First, you have to understand the i in ithreads. Read: interpreter threads. Each ithread in your Perl program has its own copy of the whole interpreter. Nothing is shared between the interpreters by default*. Most other threading implementations work the other way around: By default they share everything and the user has to deal with locking of any shared resources. This has many advantages over ithreads. Most obviously, an ithread takes a lot more memory. Furthermore, passing data between ithreads is rather painful and very, very slow. But there is, unfortunately, a big downside to shared-by-default: <br/><br/><a href='http://www.dzone.com/links/rss/in_defense_of_perl_ithreads.html'><img src='http://www.dzone.com/links/voteCountImage?linkId=199709' border='0'/></a></p>]]></content:encoded>
      <dz:linkId>199709</dz:linkId>
      <dz:submitDate>2009-07-05T05:16:48Z</dz:submitDate>
      <dz:voteUpCount>2</dz:voteUpCount>
      <dz:voteDownCount>0</dz:voteDownCount>
      <dz:clickCount>2</dz:clickCount>
      <dz:commentCount>0</dz:commentCount>
      <dz:thumbnail>http://www.dzone.com/links/images/thumbs/120x90/199709.jpg</dz:thumbnail>
      <dz:submitter>
        <dz:username>CodeJustin</dz:username>
        <dz:userimage>http://www.dzone.com/links/images/avatars/410289.gif</dz:userimage>
      </dz:submitter>
    </item>
  </channel>
</rss>

