<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>GSaraiva&#039;s Projects &#187; ParallelJobs</title>
	<atom:link href="http://projects.pro.br/gsaraiva/tag/paralleljobs/feed/" rel="self" type="application/rss+xml" />
	<link>http://projects.pro.br/gsaraiva</link>
	<description>Step by step</description>
	<lastBuildDate>Tue, 01 Sep 2009 13:14:24 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>ParallelJobs no code.google</title>
		<link>http://projects.pro.br/gsaraiva/2008/07/paralleljobs-no-codegoogle/</link>
		<comments>http://projects.pro.br/gsaraiva/2008/07/paralleljobs-no-codegoogle/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 03:17:11 +0000</pubDate>
		<dc:creator>Gilberto Saraiva</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[ParallelJobs]]></category>

		<guid isPermaLink="false">http://gsaraiva.projects.pro.br/?p=179</guid>
		<description><![CDATA[Camaradas,
Adicionei hoje o ParallelJobs no code.google,
Farei dele um espelho(mirror) do svn principal que é o:
http://devpartners.ath.cx:11520/svn/DevPartners/ParallelJobs/
E ainda criarei pra cada commit da library um snapshot, assim todos poderão ter o ParallelJobs, sem depender de um único servidor.
Mas e então, o que é o ParallelJobs?
O ParallelJobs é uma biblioteca que disponibiliza uma estrutura fácil para se criar [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Camaradas,</strong></p>
<p>Adicionei hoje o ParallelJobs no code.google,<br />
Farei dele um espelho(mirror) do svn principal que é o:<br />
<a href="http://devpartners.ath.cx:11520/svn/DevPartners/ParallelJobs/">http://devpartners.ath.cx:11520/svn/DevPartners/ParallelJobs/</a></p>
<p>E ainda criarei pra cada commit da library um snapshot, assim todos poderão ter o ParallelJobs, sem depender de um único servidor.</p>
<p><strong>Mas e então, o que é o ParallelJobs?</strong><br />
O ParallelJobs é uma biblioteca que disponibiliza uma estrutura fácil para se criar processos paralelos em seu aplicativo Delphi. A forma mais conhecida de se fazer isso é utilizando extendendo a classe TThread, o que ainda torna o aplicativo dependente do gerênciamento principal de processos que a VCL dispoe. Com o ParallelJobs você podera criar os mesmos processos com apenas 1 linha de código além de poder fazer isso em qualquer lugar que precise, jogos, aplicativos matemáticos e vários outros modelos de aplicativos que não se utilize necessariamente a VCL.</p>
<p>Você podera acompanhar a evolução e alguns exemplos de utilização do ParallelJobs aqui, nos artigos em inglês.</p>
<p>Então vamos aos links do projeto:
<dl>
<li>Fórum:<br />
<a href="http://devpartners.projects.pro.br/forum/?board=8">http://devpartners.projects.pro.br/forum/?board=8</a></li>
<li>SVN principal:<br />
<a href="http://devpartners.ath.cx:11520/svn/DevPartners/ParallelJobs/">http://devpartners.ath.cx:11520/svn/DevPartners/ParallelJobs/</a></li>
<li>TRAC:<br />
<a href="http://devpartners.ath.cx:11520/trac/DevPartners/ParallelJobs/">http://devpartners.ath.cx:11520/trac/DevPartners/ParallelJobs/</a></li>
<li>SVN mirror:<br />
<a href="http://paralleljobs.googlecode.com/svn/trunk/">http://paralleljobs.googlecode.com/svn/trunk/</a></p>
<li>Google code area:<br />
<a href="http://code.google.com/p/paralleljobs/">http://code.google.com/p/paralleljobs/</a>
</dl>
<p>Baixe um exemplo de utilização do ParallelJobs:<br />
<strong>Download ele aqui:</strong> <!--GetDownload("pjobs_ex1")--></p>
<p>Abraços a todos</p>
]]></content:encoded>
			<wfw:commentRss>http://projects.pro.br/gsaraiva/2008/07/paralleljobs-no-codegoogle/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ParallelJobs: Simple use</title>
		<link>http://projects.pro.br/gsaraiva/2008/07/paralleljobs-simple-use/</link>
		<comments>http://projects.pro.br/gsaraiva/2008/07/paralleljobs-simple-use/#comments</comments>
		<pubDate>Sat, 19 Jul 2008 22:11:00 +0000</pubDate>
		<dc:creator>Gilberto Saraiva</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Example]]></category>
		<category><![CDATA[Follower Effect]]></category>
		<category><![CDATA[ParallelJobs]]></category>

		<guid isPermaLink="false">http://gsaraiva.projects.pro.br/?p=169</guid>
		<description><![CDATA[Folks,
This is the first article about ParallelJobs and I&#8217;ll show you how to create a simple parallel process.
Lets create a simple drawing system that display a follower effect on a bitmap:
function TfrmMain.UpdateFollower: integer;const&#160;&#160;FOLLOWERSIZE = 30;var&#160;&#160;Points: array &#91;1..FOLLOWERSIZE&#93; of TPoint;&#160;&#160;i: Integer;begin&#160;&#160;while not CurrentJobTerminated do&#160;&#160;begin&#160;&#160;&#160;&#160;for i := 1 to FOLLOWERSIZE - 1 do&#160;&#160;&#160;&#160;&#160;&#160;Points&#91;i&#93; := Points&#91;i + 1&#93;;&#160;&#160;&#160;&#160;&#160;with [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Folks,</strong></p>
<p>This is the first article about ParallelJobs and I&#8217;ll show you how to create a simple parallel process.</p>
<p>Lets create a simple drawing system that display a follower effect on a bitmap:<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Delphi"><div class="devcodeoverflow"><ol><li><span style="color: #000000; font-weight: bold;">function</span> TfrmMain<span style="color: #000066;">.</span><span style="color: #006600;">UpdateFollower</span><span style="color: #000066;">:</span> <span style="color: #000066; font-weight: bold;">integer</span><span style="color: #000066;">;</span></li><li><span style="color: #000000; font-weight: bold;">const</span></li><li>&nbsp;&nbsp;FOLLOWERSIZE <span style="color: #000066;">=</span> <span style="color: #0000ff;">30</span><span style="color: #000066;">;</span></li><li><span style="color: #000000; font-weight: bold;">var</span></li><li>&nbsp;&nbsp;Points<span style="color: #000066;">:</span> <span style="color: #000000; font-weight: bold;">array</span> <span style="color: #000066;">&#91;</span>1<span style="color: #000066;">..</span><span style="color: #006600;">FOLLOWERSIZE</span><span style="color: #000066;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> TPoint<span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;i<span style="color: #000066;">:</span> <span style="color: #000066; font-weight: bold;">Integer</span><span style="color: #000066;">;</span></li><li><span style="color: #000000; font-weight: bold;">begin</span></li><li>&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #000000; font-weight: bold;">not</span> CurrentJobTerminated <span style="color: #000000; font-weight: bold;">do</span></li><li>&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">begin</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">for</span> i <span style="color: #000066;">:</span><span style="color: #000066;">=</span> 1 <span style="color: #000000; font-weight: bold;">to</span> FOLLOWERSIZE <span style="color: #000066;">-</span> 1 <span style="color: #000000; font-weight: bold;">do</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Points<span style="color: #000066;">&#91;</span>i<span style="color: #000066;">&#93;</span> <span style="color: #000066;">:</span><span style="color: #000066;">=</span> Points<span style="color: #000066;">&#91;</span>i <span style="color: #000066;">+</span> 1<span style="color: #000066;">&#93;</span><span style="color: #000066;">;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">with</span> Points<span style="color: #000066;">&#91;</span>FOLLOWERSIZE<span style="color: #000066;">&#93;</span><span style="color: #000066;">,</span> Mouse <span style="color: #000000; font-weight: bold;">do</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">begin</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;X <span style="color: #000066;">:</span><span style="color: #000066;">=</span> CursorPos<span style="color: #000066;">.</span><span style="color: #006600;">X</span> <span style="color: #000000; font-weight: bold;">div</span> <span style="color: #0000ff;">3</span><span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Y <span style="color: #000066;">:</span><span style="color: #000066;">=</span> CursorPos<span style="color: #000066;">.</span><span style="color: #006600;">Y</span> <span style="color: #000000; font-weight: bold;">div</span> <span style="color: #0000ff;">3</span><span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;Bmp<span style="color: #000066;">.</span><span style="color: #006600;">Canvas</span><span style="color: #000066;">.</span><span style="color: #006600;">Lock</span><span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">try</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bmp<span style="color: #000066;">.</span><span style="color: #006600;">Canvas</span><span style="color: #000066;">.</span><span style="color: #006600;">FillRect</span><span style="color: #000066;">&#40;</span>Bmp<span style="color: #000066;">.</span><span style="color: #006600;">Canvas</span><span style="color: #000066;">.</span><span style="color: #006600;">ClipRect</span><span style="color: #000066;">&#41;</span><span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">for</span> i <span style="color: #000066;">:</span><span style="color: #000066;">=</span> 2 <span style="color: #000000; font-weight: bold;">to</span> FOLLOWERSIZE <span style="color: #000000; font-weight: bold;">do</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">begin</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">with</span> Points<span style="color: #000066;">&#91;</span>i <span style="color: #000066;">-</span> 1<span style="color: #000066;">&#93;</span> <span style="color: #000000; font-weight: bold;">do</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bmp<span style="color: #000066;">.</span><span style="color: #006600;">Canvas</span><span style="color: #000066;">.</span><span style="color: #006600;">MoveTo</span><span style="color: #000066;">&#40;</span>X<span style="color: #000066;">,</span> Y<span style="color: #000066;">&#41;</span><span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">with</span> Points<span style="color: #000066;">&#91;</span>i<span style="color: #000066;">&#93;</span> <span style="color: #000000; font-weight: bold;">do</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bmp<span style="color: #000066;">.</span><span style="color: #006600;">Canvas</span><span style="color: #000066;">.</span><span style="color: #006600;">LineTo</span><span style="color: #000066;">&#40;</span>X<span style="color: #000066;">,</span> Y<span style="color: #000066;">&#41;</span><span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">finally</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bmp<span style="color: #000066;">.</span><span style="color: #006600;">Canvas</span><span style="color: #000066;">.</span><span style="color: #006600;">Unlock</span><span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invalidate<span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">Sleep</span><span style="color: #000066;">&#40;</span>10<span style="color: #000066;">&#41;</span><span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;Result <span style="color: #000066;">:</span><span style="color: #000066;">=</span> <span style="color: #0000ff;">0</span><span style="color: #000066;">;</span></li><li><span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>This code will hold the last 30 positions(X, Y) of the mouse and when we modify something on Bmp we have to lock the canvas to don&#8217;t let it be display by WM_PAINT message on the wrong time.</p>
<p>Since we use the TBitmap Bmp we have to create it and setup as wish. After that its time to create the parallel job with ParallelJobs library.<br />
The code below show how I did it:<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Delphi"><div class="devcodeoverflow"><ol><li><span style="color: #000000; font-weight: bold;">procedure</span> TfrmMain<span style="color: #000066;">.</span><span style="color: #006600;">FormCreate</span><span style="color: #000066;">&#40;</span>Sender<span style="color: #000066;">:</span> <span style="color: #000066; font-weight: bold;">TObject</span><span style="color: #000066;">&#41;</span><span style="color: #000066;">;</span></li><li><span style="color: #000000; font-weight: bold;">begin</span></li><li>&nbsp;&nbsp;ControlStyle <span style="color: #000066;">:</span><span style="color: #000066;">=</span> <span style="color: #000066;">&#91;</span>csOpaque<span style="color: #000066;">&#93;</span><span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;Bmp <span style="color: #000066;">:</span><span style="color: #000066;">=</span> TBitmap<span style="color: #000066;">.</span><span style="color: #006600;">Create</span><span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">with</span> Bmp <span style="color: #000000; font-weight: bold;">do</span></li><li>&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">begin</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;Width <span style="color: #000066;">:</span><span style="color: #000066;">=</span> Screen<span style="color: #000066;">.</span><span style="color: #006600;">Width</span> <span style="color: #000000; font-weight: bold;">div</span> <span style="color: #0000ff;">3</span><span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;Height <span style="color: #000066;">:</span><span style="color: #000066;">=</span> Screen<span style="color: #000066;">.</span><span style="color: #006600;">Height</span> <span style="color: #000000; font-weight: bold;">div</span> <span style="color: #0000ff;">3</span><span style="color: #000066;">;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;Canvas<span style="color: #000066;">.</span><span style="color: #006600;">Brush</span><span style="color: #000066;">.</span><span style="color: #006600;">Color</span> <span style="color: #000066;">:</span><span style="color: #000066;">=</span> clBlack<span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;Canvas<span style="color: #000066;">.</span><span style="color: #006600;">Pen</span><span style="color: #000066;">.</span><span style="color: #006600;">Color</span> <span style="color: #000066;">:</span><span style="color: #000066;">=</span> RGB<span style="color: #000066;">&#40;</span>255<span style="color: #000066;">,</span> 130<span style="color: #000066;">,</span> 0<span style="color: #000066;">&#41;</span><span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;ParallelJob<span style="color: #000066;">&#40;</span><span style="color: #000000; font-weight: bold;">Self</span><span style="color: #000066;">,</span> <span style="color: #000066;">@</span>TfrmMain<span style="color: #000066;">.</span><span style="color: #006600;">UpdateFollower</span><span style="color: #000066;">&#41;</span><span style="color: #000066;">;</span></li><li><span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>ParallelJobs provide two ways to create a parallel process with any function or method you want, this code use one that you need to specify the object ( Self ) that contain the method and the method to work on a parallel process.</p>
<p>Now we have to create the display of the follower effect:<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Delphi"><div class="devcodeoverflow"><ol><li><span style="color: #000000; font-weight: bold;">procedure</span> TfrmMain<span style="color: #000066;">.</span><span style="color: #006600;">WMPaint</span><span style="color: #000066;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> Message<span style="color: #000066;">:</span> TWMPaint<span style="color: #000066;">&#41;</span><span style="color: #000066;">;</span></li><li><span style="color: #000000; font-weight: bold;">begin</span></li><li>&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">Inherited</span><span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;Bmp<span style="color: #000066;">.</span><span style="color: #006600;">Canvas</span><span style="color: #000066;">.</span><span style="color: #006600;">Lock</span><span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">try</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;Canvas<span style="color: #000066;">.</span><span style="color: #006600;">Draw</span><span style="color: #000066;">&#40;</span>0<span style="color: #000066;">,</span> 0<span style="color: #000066;">,</span> Bmp<span style="color: #000066;">&#41;</span><span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">finally</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;Bmp<span style="color: #000066;">.</span><span style="color: #006600;">Canvas</span><span style="color: #000066;">.</span><span style="color: #006600;">Unlock</span><span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span></li><li><span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Take a look on the Canvas.Lock, that will create a basic switcher between modification and drawing processes.</p>
<p>Finally, to don&#8217;t raise a exception we need to terminate the parallel process before closing the form and on it destruction we have to free the Bmp to avoid memory leak.<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Delphi"><div class="devcodeoverflow"><ol><li><span style="color: #000000; font-weight: bold;">procedure</span> TfrmMain<span style="color: #000066;">.</span><span style="color: #006600;">FormDestroy</span><span style="color: #000066;">&#40;</span>Sender<span style="color: #000066;">:</span> <span style="color: #000066; font-weight: bold;">TObject</span><span style="color: #000066;">&#41;</span><span style="color: #000066;">;</span></li><li><span style="color: #000000; font-weight: bold;">begin</span></li><li>&nbsp;&nbsp;Bmp<span style="color: #000066;">.</span><span style="color: #006600;">Free</span><span style="color: #000066;">;</span></li><li><span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span></li><li>&nbsp;</li><li><span style="color: #000000; font-weight: bold;">procedure</span> TfrmMain<span style="color: #000066;">.</span><span style="color: #006600;">FormClose</span><span style="color: #000066;">&#40;</span>Sender<span style="color: #000066;">:</span> <span style="color: #000066; font-weight: bold;">TObject</span><span style="color: #000066;">;</span> <span style="color: #000000; font-weight: bold;">var</span> Action<span style="color: #000066;">:</span> TCloseAction<span style="color: #000066;">&#41;</span><span style="color: #000066;">;</span></li><li><span style="color: #000000; font-weight: bold;">begin</span></li><li>&nbsp;&nbsp;TerminateAllParallelJobs<span style="color: #000066;">;</span></li><li><span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Full source without ParallelJobs library, <strong>Download it here:</strong> <a href="http://projects.pro.br/gsaraiva/downloads/6" title="Downloaded 65 times">pj_example1 (1.27 KB) - 65 hits</a></p>
<p>Very nice and easy, uhm?</p>
<p>Hugs for all</p>
]]></content:encoded>
			<wfw:commentRss>http://projects.pro.br/gsaraiva/2008/07/paralleljobs-simple-use/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ParallelJobs</title>
		<link>http://projects.pro.br/gsaraiva/2008/07/paralleljobs/</link>
		<comments>http://projects.pro.br/gsaraiva/2008/07/paralleljobs/#comments</comments>
		<pubDate>Sat, 05 Jul 2008 12:01:56 +0000</pubDate>
		<dc:creator>Gilberto Saraiva</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[Delphi's Library]]></category>
		<category><![CDATA[DevPartners]]></category>
		<category><![CDATA[ParallelJobs]]></category>

		<guid isPermaLink="false">http://gsaraiva.projects.pro.br/?p=141</guid>
		<description><![CDATA[Camaradas,
Ontem iniciei o ParallelJobs no DevPartners. 
Mas o que é o ParallelJobs?
O ParallelJobs vai ser uma library para Delphi que consiste em disponibilizar facilitadores para criação de processos paralelos nas aplicações diversas.
A library ainda está no começo, mas já tem um aplicativo teste que vai servir para exemplificar algumas maneiras de utilização e criação de [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Camaradas,</strong></p>
<p>Ontem iniciei o ParallelJobs no DevPartners. </p>
<h5>Mas o que é o ParallelJobs?</h5>
<p>O ParallelJobs vai ser uma library para Delphi que consiste em disponibilizar facilitadores para criação de processos paralelos nas aplicações diversas.</p>
<p>A library ainda está no começo, mas já tem um aplicativo teste que vai servir para exemplificar algumas maneiras de utilização e criação de processos parallelos.</p>
<p>Acompanhe o fórum para maiores informações:<br />
<a href="http://devpartners.projects.pro.br/forum/?board=8.0">http://devpartners.projects.pro.br/forum/?board=8.0</a></p>
<p>Vou manter ele em inglês, mas isso não impede a comunicação em português de quem quiser contribuir.</p>
<p>façam bom uso e colaborem se puderem,</p>
<p>Abraços.</p>
]]></content:encoded>
			<wfw:commentRss>http://projects.pro.br/gsaraiva/2008/07/paralleljobs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
