<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Create multiple threads from within your application</title><link>http://blogs.msdn.com/calvin_hsia/archive/2006/05/16/599108.aspx</link><description>When I posted this Sample program to create multiple threads , I knew the inevitable follow-up question was “can I run my VFP code in separate threads?”. Sure enough, several people asked, citing various valid usage scenarios. Below is a class that you</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Create multiple threads from within your application</title><link>http://blogs.msdn.com/calvin_hsia/archive/2006/05/16/599108.aspx#599277</link><pubDate>Tue, 16 May 2006 23:36:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:599277</guid><dc:creator>Claude Fox</dc:creator><description>So a regular VFP exe could call the methods of this class from the mtdll? Or am I missing something? &amp;nbsp;Can you give an operational example of this in a VFP GUI type app that needs to do something like print in the background?</description></item><item><title>re: Create multiple threads from within your application</title><link>http://blogs.msdn.com/calvin_hsia/archive/2006/05/16/599108.aspx#599326</link><pubDate>Wed, 17 May 2006 00:29:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:599326</guid><dc:creator>Rick Strahl</dc:creator><description>Calvin, &lt;br&gt;&lt;br&gt;Is all that really necessary? It seems to me an easier way to do this is to create a couple of generic methods in a DLL or FLL and have it act as a wrapper around the various COM invokation APIs. Sure you can do this in Fox code with code injection, but man is that messy &amp;lt;s&amp;gt;...&lt;br&gt;&lt;br&gt;I'm thinking you'd want to have two ways to fire this off - one as you're doing using the VFP runtime objects to execute a PRG file via DoCmd/Evaluate - so you can have have something approaching true dynamic execution - and another to fire off a generic COM Server method from the code so you can call a separately compiled VFP (or other) COM Server. &lt;br&gt;&lt;br&gt;Sort of like I am doing in the .NET sample I posted.&lt;br&gt;&lt;br&gt;You've given me a couple of good ideas of things to add to my DLL library here &amp;lt;s&amp;gt;... &lt;br&gt;</description></item><item><title>re: Create multiple threads from within your application</title><link>http://blogs.msdn.com/calvin_hsia/archive/2006/05/16/599108.aspx#599531</link><pubDate>Wed, 17 May 2006 06:15:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:599531</guid><dc:creator>Franklin Garzón</dc:creator><description>I believe that the implementation of multiple threads must be by means of functions added like for example: do form &amp;lt;my form&amp;gt; object type 1 multihead =.t. Or begin multimultithread .... instructions ... endmultithread or select ...(select * from tabla) as calculo from othertable) with multitahread=.t..&lt;br&gt;Also I believe that in VFP it should add the funsi&amp;#243;n sleep (200) since at present many programmers use the old trick of for i=1 to 2000 endfor.</description></item><item><title>re: Create multiple threads from within your application</title><link>http://blogs.msdn.com/calvin_hsia/archive/2006/05/16/599108.aspx#599620</link><pubDate>Wed, 17 May 2006 08:38:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:599620</guid><dc:creator>Sanjay</dc:creator><description>Calvin,&lt;br&gt; &amp;nbsp; I am using DLL's as MTS components to process jobs in seperate threads. This is easy for me as i dont know much about 8086/8088 assembly lanuage.&lt;br&gt;&lt;br&gt; &amp;nbsp; I found your example quite good and has made my understanding a lot clearer on this subject.&lt;br&gt; </description></item><item><title>re: Create multiple threads from within your application</title><link>http://blogs.msdn.com/calvin_hsia/archive/2006/05/16/599108.aspx#599945</link><pubDate>Wed, 17 May 2006 17:40:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:599945</guid><dc:creator>Gargon</dc:creator><description>Is this better than using a timer/callback in vfp to multitask??&lt;br&gt;&amp;amp;&amp;amp; server objects (compile into COM-Exe) &lt;br&gt;&lt;br&gt;DEFINE CLASS oTestServer AS Session OLEPUBLIC &lt;br&gt;&lt;br&gt; &amp;nbsp;loCallback = .NULL. &amp;amp;&amp;amp; saves reference to callback object &lt;br&gt; &amp;nbsp;lAdvised = .F. &amp;amp;&amp;amp; is callbackobject set? &lt;br&gt; &amp;nbsp;HIDDEN loTimer &lt;br&gt;&lt;br&gt; &amp;nbsp;FUNCTION Init &lt;br&gt;DECLARE INTEGER Sleep IN WIN32API INTEGER &lt;br&gt;THIS.loTimer = CREATEOBJECT('dirTimer',THIS) &lt;br&gt; &amp;nbsp;ENDFUNC &lt;br&gt;&lt;br&gt; &amp;nbsp;FUNCTION Destroy &lt;br&gt;THIS.loTimer = NULL &lt;br&gt;CLEAR DLLS &lt;br&gt; &amp;nbsp;ENDFUNC &lt;br&gt;&lt;br&gt; &amp;nbsp;FUNCTION FireEvent AS VOID &lt;br&gt; &amp;nbsp; LPARAMETERS lcSomeValue &lt;br&gt; &amp;nbsp; IF THIS.lAdvised &lt;br&gt; &amp;nbsp; &amp;nbsp; THIS.loCallBack.EventMethod(lcSomeValue) &lt;br&gt; &amp;nbsp; ENDIF &lt;br&gt; &amp;nbsp;ENDFUNC &lt;br&gt;&lt;br&gt; &amp;nbsp;FUNCTION Advise AS VOID &lt;br&gt; &amp;nbsp; LPARAMETERS loObj &lt;br&gt; &amp;nbsp; THIS.loCallback = loObj &lt;br&gt; &amp;nbsp; THIS.lAdvised = .T. &lt;br&gt; &amp;nbsp;ENDFUNC &lt;br&gt;&lt;br&gt; &amp;nbsp;FUNCTION UnAdvise AS VOID &lt;br&gt; &amp;nbsp; THIS.loCallback = .NULL. &lt;br&gt; &amp;nbsp; THIS.lAdvised = .F. &lt;br&gt; &amp;nbsp;ENDFUNC &lt;br&gt;&lt;br&gt; &amp;nbsp;FUNCTION SomeMethodThatFiresEvents AS Boolean &lt;br&gt; &amp;nbsp; &amp;nbsp;&amp;amp;&amp;amp; prepare something &lt;br&gt; &amp;nbsp; &amp;nbsp;THIS.FireEvent('Task startet .. ') &lt;br&gt; &amp;nbsp; &amp;nbsp;Sleep(5000) &lt;br&gt; &amp;nbsp; &amp;nbsp;THIS.FireEvent('Task finished X percent ..') &lt;br&gt; &amp;nbsp; &amp;nbsp;Sleep(5000) &lt;br&gt; &amp;nbsp; &amp;nbsp;&amp;amp;&amp;amp; do more &lt;br&gt; &amp;nbsp; &amp;nbsp;THIS.FireEvent('Task fineshied XX percent ..') &lt;br&gt; &amp;nbsp; &amp;nbsp;&amp;amp;&amp;amp; .. &lt;br&gt; &amp;nbsp;ENDFUNC &lt;br&gt;&lt;br&gt; &amp;nbsp;FUNCTION DoSomeAsynWork AS Boolean &lt;br&gt; &amp;nbsp; THIS.loTimer.Interval = 1 &lt;br&gt;RETURN .T. &lt;br&gt; &amp;nbsp;ENDFUNC &lt;br&gt;&lt;br&gt;ENDDEFINE &lt;br&gt;&lt;br&gt;DEFINE CLASS dirTimer AS Timer &lt;br&gt;&lt;br&gt;Interval = 0 &lt;br&gt;loParent = NULL &lt;br&gt;&lt;br&gt;FUNCTION Init &lt;br&gt;LPARAMETERS loObj &lt;br&gt;THIS.loParent = loObj &lt;br&gt;ENDFUNC &lt;br&gt;&lt;br&gt;FUNCTION Destroy &lt;br&gt;THIS.loParent = NULL &lt;br&gt;ENDFUNC &lt;br&gt;&lt;br&gt;FUNCTION Timer &lt;br&gt;THIS.Interval = 0 &lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;amp;&amp;amp; do some work &lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Sleep(1000) &amp;amp;&amp;amp; sleep to simulate some work .. &lt;br&gt;THIS.loParent.FireEvent('Timer Fired') &lt;br&gt;ENDFUNC &lt;br&gt;&lt;br&gt;ENDDEFINE &lt;br&gt;&lt;br&gt;&amp;amp;&amp;amp; client testprogram &lt;br&gt;startprocess.prg: &lt;br&gt;&lt;br&gt;PUBLIC loFoxServer, loEventhandler &lt;br&gt;&lt;br&gt;loFoxServer = CREATEOBJECT('testcom1.oTestServer') &lt;br&gt;loEventHandler = CREATEOBJECT('oTestCallback') &lt;br&gt;&lt;br&gt;loFoxServer.Advise(loEventHandler) &lt;br&gt;&lt;br&gt;DEFINE CLASS oTestCallback AS Session OLEPUBLIC &lt;br&gt;&lt;br&gt; &amp;nbsp;FUNCTION EventMethod &lt;br&gt; &amp;nbsp; &amp;nbsp;LPARAMETERS lcSomeParam &lt;br&gt; &amp;nbsp; &amp;nbsp;? lcSomeParam &lt;br&gt; &amp;nbsp;ENDFUNC &lt;br&gt;&lt;br&gt;ENDDEFINE &lt;br&gt;&lt;br&gt;startasyn.prg: &lt;br&gt;&lt;br&gt;?loFoxServer.DoSomeAsynWork() &amp;amp;&amp;amp; returns immediately .. &lt;br&gt;&lt;br&gt;&amp;amp;&amp;amp; simulate block situation &lt;br&gt;DECLARE INTEGER Sleep IN WIN32API INTEGER &lt;br&gt;Sleep(15000) &amp;amp;&amp;amp; the event of ther server is fired when this runs &lt;br&gt;&lt;br&gt;&lt;br&gt;endprocess.prg: &lt;br&gt;&lt;br&gt;loFoxServer.Unadvise() &lt;br&gt;loFoxServer = NULL &lt;br&gt;loEventhandler = NULL &lt;br&gt;</description></item><item><title>re: Create multiple threads from within your application</title><link>http://blogs.msdn.com/calvin_hsia/archive/2006/05/16/599108.aspx#600102</link><pubDate>Wed, 17 May 2006 20:41:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:600102</guid><dc:creator>claudefox</dc:creator><description>Ok, now I think I see. &amp;nbsp;Once the class is set up, there's not really a lot of set up - just feed it the code. &amp;nbsp;Nice...</description></item><item><title>re: Create multiple threads from within your application</title><link>http://blogs.msdn.com/calvin_hsia/archive/2006/05/16/599108.aspx#600108</link><pubDate>Wed, 17 May 2006 20:45:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:600108</guid><dc:creator>Leandro</dc:creator><description>Dim t as New Thread(addressof Method)&lt;br&gt;t.Start()&lt;br&gt;&lt;br&gt;Easy and efficient... It is .Net !</description></item><item><title>re: Create multiple threads from within your application</title><link>http://blogs.msdn.com/calvin_hsia/archive/2006/05/16/599108.aspx#600120</link><pubDate>Wed, 17 May 2006 20:56:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:600120</guid><dc:creator>claudefox</dc:creator><description>Well the equivalent here in vfp is:&lt;br&gt;ox=CREATEOBJECT(&amp;quot;ThreadClass&amp;quot;)&lt;br&gt;cStrIid=&amp;quot;{00020400-0000-0000-C000-000000000046}&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;amp;&amp;amp; IID_IDispatch&lt;br&gt;ox.StartThreads(nThreads,&amp;quot;do &amp;quot;+SYS(5)+CURDIR()+&amp;quot;MyThreadFunc WITH p2&amp;quot;,&amp;quot;Thread: %threadnum&amp;quot;,cStrIid)&lt;br&gt;&lt;br&gt;Not a bad way to give VFP some MT capability!!&lt;br&gt;</description></item><item><title>re: Create multiple threads from within your application</title><link>http://blogs.msdn.com/calvin_hsia/archive/2006/05/16/599108.aspx#601711</link><pubDate>Fri, 19 May 2006 12:23:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:601711</guid><dc:creator>Hans-Peter Grözinger</dc:creator><description>Hello Calvin !&lt;br&gt;&lt;br&gt;Threading is a cool thing in VFP :-)&lt;br&gt;&lt;br&gt;Is it possible to include this native in Sedna?&lt;br&gt;&lt;br&gt;This can help me at a project for motorsports time measurement and reporting with the following options:&lt;br&gt;- One thread to catch the time from a COM-Port, sended by a chronometer with a light barrier&lt;br&gt;- One thread to send the actual time via COM-Port to a big LED display.&lt;br&gt;- The main thread is used to append/edit the competitors dates, printing a report and so on.&lt;br&gt;&lt;br&gt;-- &lt;br&gt;With friendly regards&lt;br&gt;Hans-Peter Gr&amp;#246;zinger&lt;br&gt; </description></item><item><title>re: Create multiple threads from within your application</title><link>http://blogs.msdn.com/calvin_hsia/archive/2006/05/16/599108.aspx#603487</link><pubDate>Mon, 22 May 2006 05:20:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:603487</guid><dc:creator>SednaY</dc:creator><description>The main thread is actually being blocked in this example by WaitForMultipleObjects. &amp;nbsp;I changed this and also changed some commands to be backwards compatible with earlier VFP versions. &amp;nbsp;This new version can be downloaded at SednaY: &lt;a rel="nofollow" target="_new" href="http://codegallery.gotdotnet.com/SednaY"&gt;http://codegallery.gotdotnet.com/SednaY&lt;/a&gt; (project is called MTmyVFP)...</description></item><item><title>re: Create multiple threads from within your application</title><link>http://blogs.msdn.com/calvin_hsia/archive/2006/05/16/599108.aspx#604642</link><pubDate>Tue, 23 May 2006 13:22:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:604642</guid><dc:creator>SednaY</dc:creator><description>Although using MsgWaitForMultipleObjects is an improvement, 2 problems so far:&lt;br&gt;1.) Although the main thread is pretty responsive, the command window will not execute a command while the other threads are running even though you can type it in. &amp;nbsp;Any ideas?? &amp;nbsp;This probably has something to do with how the vfp command window works. &amp;nbsp;My thought was that maybe Command Windows events are being blocked..&lt;br&gt;2.) &amp;nbsp;On Win2K server, it doesn't appear to be starting the threads for some reason!? &amp;nbsp;My guess is that possibly the machine code is picky depending on OS??</description></item><item><title>More Multithread capabilities: interthread synchronization, error checking</title><link>http://blogs.msdn.com/calvin_hsia/archive/2006/05/16/599108.aspx#605466</link><pubDate>Wed, 24 May 2006 04:05:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:605466</guid><dc:creator>Calvin Hsia's WebLog</dc:creator><description>In a prior post: Create multiple threads from within your application, there is a sample Thread Class...</description></item><item><title>re: Create multiple threads from within your application</title><link>http://blogs.msdn.com/calvin_hsia/archive/2006/05/16/599108.aspx#614322</link><pubDate>Fri, 02 Jun 2006 18:37:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:614322</guid><dc:creator>Boris</dc:creator><description>Hi Calvin,&lt;br&gt;&lt;br&gt;In your post you mentioned a multithreaded runtime. Where can I get it? &lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Boris</description></item><item><title>re: Create multiple threads from within your application</title><link>http://blogs.msdn.com/calvin_hsia/archive/2006/05/16/599108.aspx#614341</link><pubDate>Fri, 02 Jun 2006 18:55:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:614341</guid><dc:creator>SednaY</dc:creator><description>Boris, VFP6SP5 and above has included the &lt;br&gt;vfp?t.dll which is the MT VFP runtime.&lt;br&gt;It looks to me that most of what Calvin is posting is VFP9 specific. &amp;nbsp;I redid the first 2 multi-threading examples to be backward compatible with VFP7 - that can be found on &lt;a rel="nofollow" target="_new" href="http://codegallery.gotdotnet.com/SednaY"&gt;http://codegallery.gotdotnet.com/SednaY&lt;/a&gt;&lt;br&gt;I'm hoping to be able to do the same with the WebCrawler...</description></item><item><title>re: Create multiple threads from within your application</title><link>http://blogs.msdn.com/calvin_hsia/archive/2006/05/16/599108.aspx#632749</link><pubDate>Thu, 15 Jun 2006 23:29:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:632749</guid><dc:creator>MSP</dc:creator><description>Am I the only one experiencing problems with this code. It bombs in the WaitForThreads() method on the line, CloseHandle(this.hThreads[i])&lt;br&gt;&lt;br&gt;this.nThreads is 10, but, the array is dimensioned 1!&lt;br&gt;</description></item><item><title>re: Create multiple threads from within your application</title><link>http://blogs.msdn.com/calvin_hsia/archive/2006/05/16/599108.aspx#632812</link><pubDate>Fri, 16 Jun 2006 00:18:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:632812</guid><dc:creator>claudefox</dc:creator><description>Are you using VFP9? &amp;nbsp;I had to rewrite some functions to be backwards compat before it worked for me on VFP 7. &amp;nbsp;This example worked alot more smoothly for me than the next example (threadmanager class). &amp;nbsp;BTW, I also had better luck with msgwaitformultipleobjects...</description></item><item><title>re: Create multiple threads from within your application</title><link>http://blogs.msdn.com/calvin_hsia/archive/2006/05/16/599108.aspx#634077</link><pubDate>Fri, 16 Jun 2006 16:59:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:634077</guid><dc:creator>MSP</dc:creator><description>Claude, I am using VFP9SP1 when I'm getting this error.&lt;br&gt;&lt;br&gt;I've seen a link to your modified version on the wiki and will give that a try.</description></item><item><title>re: Create multiple threads from within your application</title><link>http://blogs.msdn.com/calvin_hsia/archive/2006/05/16/599108.aspx#922254</link><pubDate>Wed, 01 Nov 2006 16:41:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:922254</guid><dc:creator>Mike</dc:creator><description>&lt;p&gt;Doesn't seem to work when (as multithreaded) .DLL and .EXE are recompiled in Fox9 SP1. Running the test prog exits quickly and the ThreadLog table is not created.&lt;/p&gt;
</description></item><item><title>How to interrupt your code</title><link>http://blogs.msdn.com/calvin_hsia/archive/2006/05/16/599108.aspx#8510683</link><pubDate>Fri, 16 May 2008 05:43:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8510683</guid><dc:creator>Calvin Hsia's WebLog</dc:creator><description>&lt;p&gt;I received a question: Simply, is there a way of interrupting a vfp sql query once it has started short&lt;/p&gt;
</description></item><item><title>re: Create multiple threads from within your application</title><link>http://blogs.msdn.com/calvin_hsia/archive/2006/05/16/599108.aspx#8620950</link><pubDate>Thu, 19 Jun 2008 12:01:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8620950</guid><dc:creator>Abhay</dc:creator><description>&lt;p&gt;Gargon's example of trying to run Multiple threads using a VFP class compiled into a COM EXE is not working in my case.&lt;/p&gt;
&lt;p&gt;What could be wrong?&lt;/p&gt;
&lt;p&gt;Abhay&lt;/p&gt;
</description></item><item><title>Segundo Plano | hilpers</title><link>http://blogs.msdn.com/calvin_hsia/archive/2006/05/16/599108.aspx#9337747</link><pubDate>Sun, 18 Jan 2009 14:39:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9337747</guid><dc:creator>Segundo Plano | hilpers</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.hilpers-esp.com/655081-segundo-plano"&gt;http://www.hilpers-esp.com/655081-segundo-plano&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>multithreads | hilpers</title><link>http://blogs.msdn.com/calvin_hsia/archive/2006/05/16/599108.aspx#9350071</link><pubDate>Tue, 20 Jan 2009 22:14:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9350071</guid><dc:creator>multithreads | hilpers</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.hilpers-esp.com/328443-multithreads"&gt;http://www.hilpers-esp.com/328443-multithreads&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>ETL Subsystem 31: Paralleling and Pipelining &amp;laquo; Tod means Fox</title><link>http://blogs.msdn.com/calvin_hsia/archive/2006/05/16/599108.aspx#9625509</link><pubDate>Mon, 18 May 2009 19:39:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9625509</guid><dc:creator>ETL Subsystem 31: Paralleling and Pipelining &amp;laquo; Tod means Fox</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://blog.todmeansfox.com/2009/05/18/etl-subsystem-31-paralleling-and-pipelining/"&gt;http://blog.todmeansfox.com/2009/05/18/etl-subsystem-31-paralleling-and-pipelining/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> Calvin Hsia s WebLog Create multiple threads from within your application | Quick Diets</title><link>http://blogs.msdn.com/calvin_hsia/archive/2006/05/16/599108.aspx#9714762</link><pubDate>Tue, 09 Jun 2009 13:51:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9714762</guid><dc:creator> Calvin Hsia s WebLog Create multiple threads from within your application | Quick Diets</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://quickdietsite.info/story.php?id=4823"&gt;http://quickdietsite.info/story.php?id=4823&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> Calvin Hsia s WebLog Create multiple threads from within your application | pool toys</title><link>http://blogs.msdn.com/calvin_hsia/archive/2006/05/16/599108.aspx#9774950</link><pubDate>Thu, 18 Jun 2009 12:08:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9774950</guid><dc:creator> Calvin Hsia s WebLog Create multiple threads from within your application | pool toys</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://pooltoysite.info/story.php?id=6797"&gt;http://pooltoysite.info/story.php?id=6797&lt;/a&gt;&lt;/p&gt;
</description></item></channel></rss>