<?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>Comentarios en: [ASP.NET] Cargando datos en paralelo con Parallel.Invoke</title>
	<atom:link href="http://julitogtu.wordpress.com/2012/07/13/asp-net-cargando-datos-en-paralelo-con-parallel-invoke/feed/" rel="self" type="application/rss+xml" />
	<link>http://julitogtu.wordpress.com/2012/07/13/asp-net-cargando-datos-en-paralelo-con-parallel-invoke/</link>
	<description>Blog dedicado a la programación con Visual Studio .NET..... especialmente desarrollo Web</description>
	<lastBuildDate>Wed, 22 May 2013 21:08:59 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>Por: Resumen Post 2012 &#171; Todo en ASP.NET</title>
		<link>http://julitogtu.wordpress.com/2012/07/13/asp-net-cargando-datos-en-paralelo-con-parallel-invoke/#comment-576</link>
		<dc:creator><![CDATA[Resumen Post 2012 &#171; Todo en ASP.NET]]></dc:creator>
		<pubDate>Thu, 20 Dec 2012 03:05:13 +0000</pubDate>
		<guid isPermaLink="false">https://julitogtu.wordpress.com/?p=1010#comment-576</guid>
		<description><![CDATA[[...] [ASP.NET] Cargando datos en paralelo con Parallel.Invoke [...]]]></description>
		<content:encoded><![CDATA[<p>[...] [ASP.NET] Cargando datos en paralelo con Parallel.Invoke [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Julio Avellaneda</title>
		<link>http://julitogtu.wordpress.com/2012/07/13/asp-net-cargando-datos-en-paralelo-con-parallel-invoke/#comment-470</link>
		<dc:creator><![CDATA[Julio Avellaneda]]></dc:creator>
		<pubDate>Tue, 02 Oct 2012 14:00:23 +0000</pubDate>
		<guid isPermaLink="false">https://julitogtu.wordpress.com/?p=1010#comment-470</guid>
		<description><![CDATA[Gracias Arbelaezgroup, es con el mayor de los gustos!]]></description>
		<content:encoded><![CDATA[<p>Gracias Arbelaezgroup, es con el mayor de los gustos!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: arbelaezgroup</title>
		<link>http://julitogtu.wordpress.com/2012/07/13/asp-net-cargando-datos-en-paralelo-con-parallel-invoke/#comment-469</link>
		<dc:creator><![CDATA[arbelaezgroup]]></dc:creator>
		<pubDate>Tue, 02 Oct 2012 04:24:53 +0000</pubDate>
		<guid isPermaLink="false">https://julitogtu.wordpress.com/?p=1010#comment-469</guid>
		<description><![CDATA[Interesante Info, gracias por compartirla]]></description>
		<content:encoded><![CDATA[<p>Interesante Info, gracias por compartirla</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Julio Avellaneda</title>
		<link>http://julitogtu.wordpress.com/2012/07/13/asp-net-cargando-datos-en-paralelo-con-parallel-invoke/#comment-442</link>
		<dc:creator><![CDATA[Julio Avellaneda]]></dc:creator>
		<pubDate>Mon, 03 Sep 2012 04:16:08 +0000</pubDate>
		<guid isPermaLink="false">https://julitogtu.wordpress.com/?p=1010#comment-442</guid>
		<description><![CDATA[Hola, una muy buena pregunta y la respuesta es no,no está mal, todo lo contrario,  es muy bueno hacerlo así, pero entonces surge la duda del pq allí si podemos usar argumentos, y la respuesta es pq no es lo mismo que si usarás Action, al usar la expresión lambda que es un método anónimo cada método anónimo genera el mismo método que al usar el Action (no recibe parámetros) pero internamente ese método anónimo llama a otro método que si acepta parámetros.

Así que úsalo sin problema :D

Saludos!]]></description>
		<content:encoded><![CDATA[<p>Hola, una muy buena pregunta y la respuesta es no,no está mal, todo lo contrario,  es muy bueno hacerlo así, pero entonces surge la duda del pq allí si podemos usar argumentos, y la respuesta es pq no es lo mismo que si usarás Action, al usar la expresión lambda que es un método anónimo cada método anónimo genera el mismo método que al usar el Action (no recibe parámetros) pero internamente ese método anónimo llama a otro método que si acepta parámetros.</p>
<p>Así que úsalo sin problema <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Saludos!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: mlizbeth</title>
		<link>http://julitogtu.wordpress.com/2012/07/13/asp-net-cargando-datos-en-paralelo-con-parallel-invoke/#comment-439</link>
		<dc:creator><![CDATA[mlizbeth]]></dc:creator>
		<pubDate>Thu, 30 Aug 2012 06:03:10 +0000</pubDate>
		<guid isPermaLink="false">https://julitogtu.wordpress.com/?p=1010#comment-439</guid>
		<description><![CDATA[Osea que si yo hago esto, está mal?

Parallel.Invoke(() =&gt; oDatos.procesar_host(host[0]), () =&gt; oDatos.procesar_host(host[1]));]]></description>
		<content:encoded><![CDATA[<p>Osea que si yo hago esto, está mal?</p>
<p>Parallel.Invoke(() =&gt; oDatos.procesar_host(host[0]), () =&gt; oDatos.procesar_host(host[1]));</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Julio Avellaneda</title>
		<link>http://julitogtu.wordpress.com/2012/07/13/asp-net-cargando-datos-en-paralelo-con-parallel-invoke/#comment-438</link>
		<dc:creator><![CDATA[Julio Avellaneda]]></dc:creator>
		<pubDate>Thu, 30 Aug 2012 05:14:05 +0000</pubDate>
		<guid isPermaLink="false">https://julitogtu.wordpress.com/?p=1010#comment-438</guid>
		<description><![CDATA[Hola Little Shawn, los métodos no pueden recibir parámetros pq en realidad lo que haces cuando utilizas parallel.invoke lo q estas haciendo es utilizar delegados y esos delegados tienen dos limitaciones que son: 1. no recibe parámetros y 2. no retorna un valor.

Saludos!]]></description>
		<content:encoded><![CDATA[<p>Hola Little Shawn, los métodos no pueden recibir parámetros pq en realidad lo que haces cuando utilizas parallel.invoke lo q estas haciendo es utilizar delegados y esos delegados tienen dos limitaciones que son: 1. no recibe parámetros y 2. no retorna un valor.</p>
<p>Saludos!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Little Shawn</title>
		<link>http://julitogtu.wordpress.com/2012/07/13/asp-net-cargando-datos-en-paralelo-con-parallel-invoke/#comment-437</link>
		<dc:creator><![CDATA[Little Shawn]]></dc:creator>
		<pubDate>Wed, 29 Aug 2012 20:06:29 +0000</pubDate>
		<guid isPermaLink="false">https://julitogtu.wordpress.com/?p=1010#comment-437</guid>
		<description><![CDATA[Hoa que tal, mi duda es, por qué los  métodos que se llaman no deben recibir parámetros?]]></description>
		<content:encoded><![CDATA[<p>Hoa que tal, mi duda es, por qué los  métodos que se llaman no deben recibir parámetros?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: [ASP.NET] Cargando datos en paralelo con Parallel.Invoke &#171; MSExpertos</title>
		<link>http://julitogtu.wordpress.com/2012/07/13/asp-net-cargando-datos-en-paralelo-con-parallel-invoke/#comment-400</link>
		<dc:creator><![CDATA[[ASP.NET] Cargando datos en paralelo con Parallel.Invoke &#171; MSExpertos]]></dc:creator>
		<pubDate>Thu, 19 Jul 2012 15:55:03 +0000</pubDate>
		<guid isPermaLink="false">https://julitogtu.wordpress.com/?p=1010#comment-400</guid>
		<description><![CDATA[[...] [ASP.NET] Cargando datos en paralelo con Parallel.Invoke [...]]]></description>
		<content:encoded><![CDATA[<p>[...] [ASP.NET] Cargando datos en paralelo con Parallel.Invoke [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: nicolocodev</title>
		<link>http://julitogtu.wordpress.com/2012/07/13/asp-net-cargando-datos-en-paralelo-con-parallel-invoke/#comment-397</link>
		<dc:creator><![CDATA[nicolocodev]]></dc:creator>
		<pubDate>Sun, 15 Jul 2012 01:16:38 +0000</pubDate>
		<guid isPermaLink="false">https://julitogtu.wordpress.com/?p=1010#comment-397</guid>
		<description><![CDATA[Vale, si me parcecio desde el principio innecesario el uso de volatile en este ejemplo .NET ya es en si bastante seguro con este tema, lo que si NO me consta es el hecho de las violaciones de modificacion entre distintos hilos (y pese a que estos son &quot;transversales&quot;), tambien entre AppDomains, hice ya varios ejemplos y sin problemas, .net se comporta muy bien con el acceso a sus campos en esta implementación.

...Me quedas debiendo lo referente al SynchronizationContext con ASP.NET :-)

Saludos.]]></description>
		<content:encoded><![CDATA[<p>Vale, si me parcecio desde el principio innecesario el uso de volatile en este ejemplo .NET ya es en si bastante seguro con este tema, lo que si NO me consta es el hecho de las violaciones de modificacion entre distintos hilos (y pese a que estos son &#8220;transversales&#8221;), tambien entre AppDomains, hice ya varios ejemplos y sin problemas, .net se comporta muy bien con el acceso a sus campos en esta implementación.</p>
<p>&#8230;Me quedas debiendo lo referente al SynchronizationContext con ASP.NET <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Saludos.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Julio Avellaneda</title>
		<link>http://julitogtu.wordpress.com/2012/07/13/asp-net-cargando-datos-en-paralelo-con-parallel-invoke/#comment-396</link>
		<dc:creator><![CDATA[Julio Avellaneda]]></dc:creator>
		<pubDate>Sun, 15 Jul 2012 01:13:14 +0000</pubDate>
		<guid isPermaLink="false">https://julitogtu.wordpress.com/?p=1010#comment-396</guid>
		<description><![CDATA[Gracias por comentar y compartir conocimiento...!]]></description>
		<content:encoded><![CDATA[<p>Gracias por comentar y compartir conocimiento&#8230;!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: nathan</title>
		<link>http://julitogtu.wordpress.com/2012/07/13/asp-net-cargando-datos-en-paralelo-con-parallel-invoke/#comment-395</link>
		<dc:creator><![CDATA[nathan]]></dc:creator>
		<pubDate>Sat, 14 Jul 2012 15:49:19 +0000</pubDate>
		<guid isPermaLink="false">https://julitogtu.wordpress.com/?p=1010#comment-395</guid>
		<description><![CDATA[Reblogged this on &lt;a href=&quot;http://jhonatantirado.wordpress.com/2012/07/14/684/&quot; rel=&quot;nofollow&quot;&gt;Nathan&lt;/a&gt;.]]></description>
		<content:encoded><![CDATA[<p>Reblogged this on <a href="http://jhonatantirado.wordpress.com/2012/07/14/684/" rel="nofollow">Nathan</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: jhonnys.lopez</title>
		<link>http://julitogtu.wordpress.com/2012/07/13/asp-net-cargando-datos-en-paralelo-con-parallel-invoke/#comment-394</link>
		<dc:creator><![CDATA[jhonnys.lopez]]></dc:creator>
		<pubDate>Sat, 14 Jul 2012 15:35:26 +0000</pubDate>
		<guid isPermaLink="false">https://julitogtu.wordpress.com/?p=1010#comment-394</guid>
		<description><![CDATA[Claro la forma tal cual como la tienes es mucho mas sencilla de comprender por el motivo que verlo de esa manera se reconoce inmediatamente el patrón Singleton y más aún se tiene mucho más claro el porque del uso de lock para que sea Thread Safe, la optimización de .NET si no conocemos cuales son las funcionalidadese y ventajas de usar un static e inicializarlo de una pues no entendermos bien porque es Thread Safe, en fin Julio me parce un excelente ejemplo gracias por compartirlo.]]></description>
		<content:encoded><![CDATA[<p>Claro la forma tal cual como la tienes es mucho mas sencilla de comprender por el motivo que verlo de esa manera se reconoce inmediatamente el patrón Singleton y más aún se tiene mucho más claro el porque del uso de lock para que sea Thread Safe, la optimización de .NET si no conocemos cuales son las funcionalidadese y ventajas de usar un static e inicializarlo de una pues no entendermos bien porque es Thread Safe, en fin Julio me parce un excelente ejemplo gracias por compartirlo.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Julio Avellaneda</title>
		<link>http://julitogtu.wordpress.com/2012/07/13/asp-net-cargando-datos-en-paralelo-con-parallel-invoke/#comment-393</link>
		<dc:creator><![CDATA[Julio Avellaneda]]></dc:creator>
		<pubDate>Sat, 14 Jul 2012 14:54:39 +0000</pubDate>
		<guid isPermaLink="false">https://julitogtu.wordpress.com/?p=1010#comment-393</guid>
		<description><![CDATA[Gracias Jhonnys, es muy verdad lo que dices, esa implementacion del patron es mas de Java, y claro se podria hacer inicializando la variable, sin embargo me gusta mas como la coloque por dos razones:
1. Me parece que se mas bonito :D
2. En el constructor es posible realizar algunas otras acciones si es necesario claro.
Saludos!]]></description>
		<content:encoded><![CDATA[<p>Gracias Jhonnys, es muy verdad lo que dices, esa implementacion del patron es mas de Java, y claro se podria hacer inicializando la variable, sin embargo me gusta mas como la coloque por dos razones:<br />
1. Me parece que se mas bonito <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
2. En el constructor es posible realizar algunas otras acciones si es necesario claro.<br />
Saludos!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: jhonnys.lopez</title>
		<link>http://julitogtu.wordpress.com/2012/07/13/asp-net-cargando-datos-en-paralelo-con-parallel-invoke/#comment-392</link>
		<dc:creator><![CDATA[jhonnys.lopez]]></dc:creator>
		<pubDate>Sat, 14 Jul 2012 14:08:11 +0000</pubDate>
		<guid isPermaLink="false">https://julitogtu.wordpress.com/?p=1010#comment-392</guid>
		<description><![CDATA[Excelente tema, más aún cuando vemos el uso del patrón Singleton en acción en un ejemplo de la vida real, Nicolás tiene razón al ser Singleton ya nos estamos asegurando en parte el Thread Safe sin embargo, la implementación del Singleton tal cual como la vemos en el ejemplo es una implementación generalizada especificamente la del Java, aqui contamos con la rica plaraforma .NET en donde podemos optimizar el patrón para la plataforma, por ejemplo la propiedad estática static _uniqueInstance la podemo inicializar directamente el su delcaración ya que en .net los campos estaticos son los primeros en inicializarse además en .NET static nos garantiza que ya es Thread Safe por lo que no hay necesidad de un Object para hacer un lock que como mencionaba para mi es la trarucción literal del sync en Java. Entonces quedaría:

// Inicializar campos static desde su declaración los hace Thread Safe en .NET no necesitamos hacer lock.
private static BDManager _uniqueInstance = new BDManager();

public static Instance
{
    get
    {
        return _uniqueInstance;
    }
}

Ya no necesitamos volatile tampoco.]]></description>
		<content:encoded><![CDATA[<p>Excelente tema, más aún cuando vemos el uso del patrón Singleton en acción en un ejemplo de la vida real, Nicolás tiene razón al ser Singleton ya nos estamos asegurando en parte el Thread Safe sin embargo, la implementación del Singleton tal cual como la vemos en el ejemplo es una implementación generalizada especificamente la del Java, aqui contamos con la rica plaraforma .NET en donde podemos optimizar el patrón para la plataforma, por ejemplo la propiedad estática static _uniqueInstance la podemo inicializar directamente el su delcaración ya que en .net los campos estaticos son los primeros en inicializarse además en .NET static nos garantiza que ya es Thread Safe por lo que no hay necesidad de un Object para hacer un lock que como mencionaba para mi es la trarucción literal del sync en Java. Entonces quedaría:</p>
<p>// Inicializar campos static desde su declaración los hace Thread Safe en .NET no necesitamos hacer lock.<br />
private static BDManager _uniqueInstance = new BDManager();</p>
<p>public static Instance<br />
{<br />
    get<br />
    {<br />
        return _uniqueInstance;<br />
    }<br />
}</p>
<p>Ya no necesitamos volatile tampoco.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Julio Avellaneda</title>
		<link>http://julitogtu.wordpress.com/2012/07/13/asp-net-cargando-datos-en-paralelo-con-parallel-invoke/#comment-391</link>
		<dc:creator><![CDATA[Julio Avellaneda]]></dc:creator>
		<pubDate>Sat, 14 Jul 2012 05:44:26 +0000</pubDate>
		<guid isPermaLink="false">https://julitogtu.wordpress.com/?p=1010#comment-391</guid>
		<description><![CDATA[La idea de usar volatile es q si un hilo esta usando el recurso y llega otro q lo necesita debe esperar a q el hilo anterior lo libere, y no Nico, no debe ir en la propiedad, ya que las propiedades no pueden tener este modificador...

Gracias por tus comentarios... seria bueno q tratemnos temas de este tipo mas seguido, saludos!]]></description>
		<content:encoded><![CDATA[<p>La idea de usar volatile es q si un hilo esta usando el recurso y llega otro q lo necesita debe esperar a q el hilo anterior lo libere, y no Nico, no debe ir en la propiedad, ya que las propiedades no pueden tener este modificador&#8230;</p>
<p>Gracias por tus comentarios&#8230; seria bueno q tratemnos temas de este tipo mas seguido, saludos!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: nicolocodev</title>
		<link>http://julitogtu.wordpress.com/2012/07/13/asp-net-cargando-datos-en-paralelo-con-parallel-invoke/#comment-390</link>
		<dc:creator><![CDATA[nicolocodev]]></dc:creator>
		<pubDate>Sat, 14 Jul 2012 05:27:50 +0000</pubDate>
		<guid isPermaLink="false">https://julitogtu.wordpress.com/?p=1010#comment-390</guid>
		<description><![CDATA[Hola Julito, gracias por responder... Pero hasta donde se, realmente a lo que ayudaria volatile seria Cuando un hilo esta trabajando el objeto y quiere ser modificado por otro, Y/o siempre querer tener el ultimo valor en todo momento para todos los hilos, entonces no deberia ir esta en la propiedad publica? y así evitarse el lock?]]></description>
		<content:encoded><![CDATA[<p>Hola Julito, gracias por responder&#8230; Pero hasta donde se, realmente a lo que ayudaria volatile seria Cuando un hilo esta trabajando el objeto y quiere ser modificado por otro, Y/o siempre querer tener el ultimo valor en todo momento para todos los hilos, entonces no deberia ir esta en la propiedad publica? y así evitarse el lock?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Julio Avellaneda</title>
		<link>http://julitogtu.wordpress.com/2012/07/13/asp-net-cargando-datos-en-paralelo-con-parallel-invoke/#comment-389</link>
		<dc:creator><![CDATA[Julio Avellaneda]]></dc:creator>
		<pubDate>Sat, 14 Jul 2012 04:39:54 +0000</pubDate>
		<guid isPermaLink="false">https://julitogtu.wordpress.com/?p=1010#comment-389</guid>
		<description><![CDATA[Gracias Nicolas, la palabra volatile para asegurar que todos los hilos accedan a la misma variable, ya q es posible q en un entorno multihilo se creen varias instancias de la clase asi se use singleton, entonces con volatile aseguro q todos los hilos usen la misma (eso en palabras sencillas), ademas la idea del singleton es tener 1 unica instancia siempre, sea multihilo o no.

Pära sincrnizarlos, bueno eso es todo un tema, la idea del post era mostrar como ejecutar metodos multihilos, y o importante de parallel.invoke es q los metodos no son dependientes uno del otro.]]></description>
		<content:encoded><![CDATA[<p>Gracias Nicolas, la palabra volatile para asegurar que todos los hilos accedan a la misma variable, ya q es posible q en un entorno multihilo se creen varias instancias de la clase asi se use singleton, entonces con volatile aseguro q todos los hilos usen la misma (eso en palabras sencillas), ademas la idea del singleton es tener 1 unica instancia siempre, sea multihilo o no.</p>
<p>Pära sincrnizarlos, bueno eso es todo un tema, la idea del post era mostrar como ejecutar metodos multihilos, y o importante de parallel.invoke es q los metodos no son dependientes uno del otro.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: nicolocodev</title>
		<link>http://julitogtu.wordpress.com/2012/07/13/asp-net-cargando-datos-en-paralelo-con-parallel-invoke/#comment-388</link>
		<dc:creator><![CDATA[nicolocodev]]></dc:creator>
		<pubDate>Sat, 14 Jul 2012 04:25:28 +0000</pubDate>
		<guid isPermaLink="false">https://julitogtu.wordpress.com/?p=1010#comment-388</guid>
		<description><![CDATA[Hola.

Es buen post Julito. Me quedan dos inquietudes, porque haces uso de la palabra clave VOLATILE? de que optimizacion te quieres librar en este caso?.. si es un singleton no habria problema con lo del Multitrheading, dado que si en algun momento el valor de la instancia cambia o vuelve a ser Null se vuelve a crear esta instancia y todos felices, no?

Dado que los metodos se ejecutan en hilos distintos al principal... que mecanismo recomiendas en ASP.NET Para sincronizarlos con la UI nuevamente y no tener el problema de esa sabrosa excepcion que todos conocemos a la hora de trabajar con Multihilo.

Saludos.]]></description>
		<content:encoded><![CDATA[<p>Hola.</p>
<p>Es buen post Julito. Me quedan dos inquietudes, porque haces uso de la palabra clave VOLATILE? de que optimizacion te quieres librar en este caso?.. si es un singleton no habria problema con lo del Multitrheading, dado que si en algun momento el valor de la instancia cambia o vuelve a ser Null se vuelve a crear esta instancia y todos felices, no?</p>
<p>Dado que los metodos se ejecutan en hilos distintos al principal&#8230; que mecanismo recomiendas en ASP.NET Para sincronizarlos con la UI nuevamente y no tener el problema de esa sabrosa excepcion que todos conocemos a la hora de trabajar con Multihilo.</p>
<p>Saludos.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
