<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Perl Modules for Windows Processes</title>
	<atom:link href="http://curiousprogrammer.wordpress.com/2011/04/04/perl-modules-for-windows-processes/feed/" rel="self" type="application/rss+xml" />
	<link>http://curiousprogrammer.wordpress.com/2011/04/04/perl-modules-for-windows-processes/</link>
	<description>Leveraging Perl and Emacs</description>
	<lastBuildDate>Sat, 15 Jun 2013 02:12:16 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Christian Walde</title>
		<link>http://curiousprogrammer.wordpress.com/2011/04/04/perl-modules-for-windows-processes/#comment-8923</link>
		<dc:creator><![CDATA[Christian Walde]]></dc:creator>
		<pubDate>Mon, 11 Apr 2011 08:04:37 +0000</pubDate>
		<guid isPermaLink="false">http://curiousprogrammer.wordpress.com/?p=1526#comment-8923</guid>
		<description><![CDATA[@Jared: Since the context was perl i figured it&#039;d be understood that i am talking about perl threads. :)]]></description>
		<content:encoded><![CDATA[<p>@Jared: Since the context was perl i figured it&#8217;d be understood that i am talking about perl threads. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jared</title>
		<link>http://curiousprogrammer.wordpress.com/2011/04/04/perl-modules-for-windows-processes/#comment-8920</link>
		<dc:creator><![CDATA[Jared]]></dc:creator>
		<pubDate>Fri, 08 Apr 2011 22:12:10 +0000</pubDate>
		<guid isPermaLink="false">http://curiousprogrammer.wordpress.com/?p=1526#comment-8920</guid>
		<description><![CDATA[Hi Leigh,

Your comment was good.  For sure I don&#039;t want to discourage any helpful comments - I learn a lot from blogging here.

@Christian - I didn&#039;t know that &lt;i&gt;perl threads&lt;/i&gt; don&#039;t work correctly on Linux.  I generally prefer AnyEvent myself and resort to fork when I want to have the protection I&#039;ve alluded to above.]]></description>
		<content:encoded><![CDATA[<p>Hi Leigh,</p>
<p>Your comment was good.  For sure I don&#8217;t want to discourage any helpful comments &#8211; I learn a lot from blogging here.</p>
<p>@Christian &#8211; I didn&#8217;t know that <i>perl threads</i> don&#8217;t work correctly on Linux.  I generally prefer AnyEvent myself and resort to fork when I want to have the protection I&#8217;ve alluded to above.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Leigh</title>
		<link>http://curiousprogrammer.wordpress.com/2011/04/04/perl-modules-for-windows-processes/#comment-8916</link>
		<dc:creator><![CDATA[Leigh]]></dc:creator>
		<pubDate>Wed, 06 Apr 2011 10:16:40 +0000</pubDate>
		<guid isPermaLink="false">http://curiousprogrammer.wordpress.com/?p=1526#comment-8916</guid>
		<description><![CDATA[Jared,

The other comments here are a lot more thoughtful than mine. You mentioned a couple of modules and &#039;system&#039;. The modules you mention are indeed very useful. I just thought it was useful to get Win32::Process into the record, as that is the lowest level module that&#039;s available.

Leigh.]]></description>
		<content:encoded><![CDATA[<p>Jared,</p>
<p>The other comments here are a lot more thoughtful than mine. You mentioned a couple of modules and &#8216;system&#8217;. The modules you mention are indeed very useful. I just thought it was useful to get Win32::Process into the record, as that is the lowest level module that&#8217;s available.</p>
<p>Leigh.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christian Walde</title>
		<link>http://curiousprogrammer.wordpress.com/2011/04/04/perl-modules-for-windows-processes/#comment-8913</link>
		<dc:creator><![CDATA[Christian Walde]]></dc:creator>
		<pubDate>Tue, 05 Apr 2011 08:14:26 +0000</pubDate>
		<guid isPermaLink="false">http://curiousprogrammer.wordpress.com/?p=1526#comment-8913</guid>
		<description><![CDATA[Thanks for the shoutout. :)

As for your revised question:

Since fork won&#039;t work right on windows i just never use it and avoid things that do.

Since threads don&#039;t work right on linux i just never [1] use them and avoid things that do.

Better solutions are: As mentioned, spinning out independent activities into extra processes, manually spawned with the likes of open3 and connected via pipes, or network servers.

Alternatively, powerful tools exist for solving problems without threads or fork: Coro provides the ability to create light-weight fibers in a single-thread process between which the developer can switch when they deem it time to switch. AnyEvent and kids provides easy asynchronous processing for IO-bound activities.

[1]: Here&#039;s a rather old and terrible OpenGL perl program where i used Detached, Coro and Threads, although i only used the threads for a minimal part and only because i knew this would never run on linux: http://code.google.com/p/dwarvis/source/browse/trunk/lifevis/Lifevis/Viewer.pm]]></description>
		<content:encoded><![CDATA[<p>Thanks for the shoutout. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>As for your revised question:</p>
<p>Since fork won&#8217;t work right on windows i just never use it and avoid things that do.</p>
<p>Since threads don&#8217;t work right on linux i just never [1] use them and avoid things that do.</p>
<p>Better solutions are: As mentioned, spinning out independent activities into extra processes, manually spawned with the likes of open3 and connected via pipes, or network servers.</p>
<p>Alternatively, powerful tools exist for solving problems without threads or fork: Coro provides the ability to create light-weight fibers in a single-thread process between which the developer can switch when they deem it time to switch. AnyEvent and kids provides easy asynchronous processing for IO-bound activities.</p>
<p>[1]: Here&#8217;s a rather old and terrible OpenGL perl program where i used Detached, Coro and Threads, although i only used the threads for a minimal part and only because i knew this would never run on linux: <a href="http://code.google.com/p/dwarvis/source/browse/trunk/lifevis/Lifevis/Viewer.pm" rel="nofollow">http://code.google.com/p/dwarvis/source/browse/trunk/lifevis/Lifevis/Viewer.pm</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jared</title>
		<link>http://curiousprogrammer.wordpress.com/2011/04/04/perl-modules-for-windows-processes/#comment-8912</link>
		<dc:creator><![CDATA[Jared]]></dc:creator>
		<pubDate>Mon, 04 Apr 2011 21:12:11 +0000</pubDate>
		<guid isPermaLink="false">http://curiousprogrammer.wordpress.com/?p=1526#comment-8912</guid>
		<description><![CDATA[Hi Leigh, I thought Win32::Job uses Win32::Process under the covers.  Could be wrong though.

@gizmomathboy - I&#039;d be interested to read a post like that, cheers.]]></description>
		<content:encoded><![CDATA[<p>Hi Leigh, I thought Win32::Job uses Win32::Process under the covers.  Could be wrong though.</p>
<p>@gizmomathboy &#8211; I&#8217;d be interested to read a post like that, cheers.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gizmomathboy</title>
		<link>http://curiousprogrammer.wordpress.com/2011/04/04/perl-modules-for-windows-processes/#comment-8911</link>
		<dc:creator><![CDATA[gizmomathboy]]></dc:creator>
		<pubDate>Mon, 04 Apr 2011 15:02:56 +0000</pubDate>
		<guid isPermaLink="false">http://curiousprogrammer.wordpress.com/?p=1526#comment-8911</guid>
		<description><![CDATA[I recently needed to make a serial program run asynchronously/parallel/like fork but not since it Windows...

It needed to run on Windows so I eventually turned to threads.

Specificallly,

threads.
Thread::Queue

Both are core modules.

I posed the question on perlmonks and got good feedback.

Personally, the hard part was to figure out that I needed 2 queues (thus Thread::Queue). The first was a job queue where I dumped everything I need to process.

My biggest problem was figuring out how to get data back out from the threads in a sane manner. So I needed to create a second queue that the threads dumped their data into.

The finally bit of grokking was how I needed to modify my initial subroutine that did most of the work (and called several other subroutines).

I&#039;ll try to find the various URLs that helped me and create a summary on my blogs.perl.org blog.

gizmo]]></description>
		<content:encoded><![CDATA[<p>I recently needed to make a serial program run asynchronously/parallel/like fork but not since it Windows&#8230;</p>
<p>It needed to run on Windows so I eventually turned to threads.</p>
<p>Specificallly,</p>
<p>threads.<br />
Thread::Queue</p>
<p>Both are core modules.</p>
<p>I posed the question on perlmonks and got good feedback.</p>
<p>Personally, the hard part was to figure out that I needed 2 queues (thus Thread::Queue). The first was a job queue where I dumped everything I need to process.</p>
<p>My biggest problem was figuring out how to get data back out from the threads in a sane manner. So I needed to create a second queue that the threads dumped their data into.</p>
<p>The finally bit of grokking was how I needed to modify my initial subroutine that did most of the work (and called several other subroutines).</p>
<p>I&#8217;ll try to find the various URLs that helped me and create a summary on my blogs.perl.org blog.</p>
<p>gizmo</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Leigh</title>
		<link>http://curiousprogrammer.wordpress.com/2011/04/04/perl-modules-for-windows-processes/#comment-8910</link>
		<dc:creator><![CDATA[Leigh]]></dc:creator>
		<pubDate>Mon, 04 Apr 2011 12:14:05 +0000</pubDate>
		<guid isPermaLink="false">http://curiousprogrammer.wordpress.com/?p=1526#comment-8910</guid>
		<description><![CDATA[Or there id Win32::Process and its Create function. That is probably as &#039;close to the metal&#039; as it is possible to get.

(Apologies if this shows up twice.)

Leigh]]></description>
		<content:encoded><![CDATA[<p>Or there id Win32::Process and its Create function. That is probably as &#8216;close to the metal&#8217; as it is possible to get.</p>
<p>(Apologies if this shows up twice.)</p>
<p>Leigh</p>
]]></content:encoded>
	</item>
</channel>
</rss>
