<?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/"
	
	>
<channel>
	<title>
	Commentaires sur : Détecter les deadlocks en C# / .NET grâce au pattern IDisposable	</title>
	<atom:link href="https://blog.infine.com/detecter-les-deadlocks-en-c-net-grace-au-pattern-idisposable-427/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.infine.com/detecter-les-deadlocks-en-c-net-grace-au-pattern-idisposable-427?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=detecter-les-deadlocks-en-c-net-grace-au-pattern-idisposable</link>
	<description>Le blog des technos de demain !</description>
	<lastBuildDate>Sat, 15 Jun 2013 10:45:18 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.5.7</generator>
	<item>
		<title>
		Par : Nicolas Lecrique		</title>
		<link>https://blog.infine.com/detecter-les-deadlocks-en-c-net-grace-au-pattern-idisposable-427/comment-page-1#comment-871</link>

		<dc:creator><![CDATA[Nicolas Lecrique]]></dc:creator>
		<pubDate>Sat, 15 Jun 2013 10:45:18 +0000</pubDate>
		<guid isPermaLink="false">https://blog.infine.com/?p=427#comment-871</guid>

					<description><![CDATA[En réponse à &lt;a href=&quot;https://blog.infine.com/detecter-les-deadlocks-en-c-net-grace-au-pattern-idisposable-427/comment-page-1#comment-865&quot;&gt;B____&lt;/a&gt;.

Bonjour,

Merci pour votre commentaire

Pour votre remarque sur la méthode Dispose. Le verrou sera relâché automatiquement à la parenthèse fermante du using dans les deux exemples (parce qu&#039;on a implémenté la méthode dispose bien sur, rien ne se fait tout seul !)

Concernant votre alternative, effectivement, on peut utiliser SpinLock, une syntaxe 4.0 et proposer d&#039;autres types de deadlocks.... Mais le but du post est de proposer une alternative syntaxique au Monitor.TryEnter, pas de multiplier les exemples de deadlocks ;-)]]></description>
			<content:encoded><![CDATA[<p>En réponse à <a href="https://blog.infine.com/detecter-les-deadlocks-en-c-net-grace-au-pattern-idisposable-427/comment-page-1#comment-865">B____</a>.</p>
<p>Bonjour,</p>
<p>Merci pour votre commentaire</p>
<p>Pour votre remarque sur la méthode Dispose. Le verrou sera relâché automatiquement à la parenthèse fermante du using dans les deux exemples (parce qu&#8217;on a implémenté la méthode dispose bien sur, rien ne se fait tout seul !)</p>
<p>Concernant votre alternative, effectivement, on peut utiliser SpinLock, une syntaxe 4.0 et proposer d&#8217;autres types de deadlocks&#8230;. Mais le but du post est de proposer une alternative syntaxique au Monitor.TryEnter, pas de multiplier les exemples de deadlocks 😉</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Par : B____		</title>
		<link>https://blog.infine.com/detecter-les-deadlocks-en-c-net-grace-au-pattern-idisposable-427/comment-page-1#comment-866</link>

		<dc:creator><![CDATA[B____]]></dc:creator>
		<pubDate>Thu, 14 Feb 2013 08:50:00 +0000</pubDate>
		<guid isPermaLink="false">https://blog.infine.com/?p=427#comment-866</guid>

					<description><![CDATA[Je me permets de complété et corriger ma réponse :

        static void Main(string[] args)

        {

            var R1 = new object();

            var R2 = new object();

            var T1 = new Thread(() =&#062; Work(R1, R2, &quot;T1&quot;));

            var T2 = new Thread(() =&#062; Work(R2, R1, &quot;T2&quot;));

            T1.Start();

            T2.Start();

            T1.Join();

            T2.Join();

            Console.WriteLine(&quot;fin&quot;);

            Console.ReadLine();

        }

        static void Work(Object acquire, Object demand, string ThreadN)

        {

            var sl = new SpinLock();

            var gotLock1 = false;

            sl.Enter(ref gotLock1);

                Thread.Sleep(5000);

                Console.WriteLine(ThreadN);

                // manipultation de l&#039;objet acquire

            if (gotLock1) sl.Exit();

            var gotLock2 = false;

            sl.Enter(ref gotLock2);

                Thread.Sleep(1000);

                Console.WriteLine(ThreadN);

                // manipulation de l&#039;objet demand

            sl.Exit();

        }]]></description>
			<content:encoded><![CDATA[<p>Je me permets de complété et corriger ma réponse :</p>
<p>        static void Main(string[] args)</p>
<p>        {</p>
<p>            var R1 = new object();</p>
<p>            var R2 = new object();</p>
<p>            var T1 = new Thread(() =&gt; Work(R1, R2, &#8220;T1&#8221;));</p>
<p>            var T2 = new Thread(() =&gt; Work(R2, R1, &#8220;T2&#8221;));</p>
<p>            T1.Start();</p>
<p>            T2.Start();</p>
<p>            T1.Join();</p>
<p>            T2.Join();</p>
<p>            Console.WriteLine(&#8220;fin&#8221;);</p>
<p>            Console.ReadLine();</p>
<p>        }</p>
<p>        static void Work(Object acquire, Object demand, string ThreadN)</p>
<p>        {</p>
<p>            var sl = new SpinLock();</p>
<p>            var gotLock1 = false;</p>
<p>            sl.Enter(ref gotLock1);</p>
<p>                Thread.Sleep(5000);</p>
<p>                Console.WriteLine(ThreadN);</p>
<p>                // manipultation de l&#8217;objet acquire</p>
<p>            if (gotLock1) sl.Exit();</p>
<p>            var gotLock2 = false;</p>
<p>            sl.Enter(ref gotLock2);</p>
<p>                Thread.Sleep(1000);</p>
<p>                Console.WriteLine(ThreadN);</p>
<p>                // manipulation de l&#8217;objet demand</p>
<p>            sl.Exit();</p>
<p>        }</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Par : B____		</title>
		<link>https://blog.infine.com/detecter-les-deadlocks-en-c-net-grace-au-pattern-idisposable-427/comment-page-1#comment-865</link>

		<dc:creator><![CDATA[B____]]></dc:creator>
		<pubDate>Thu, 14 Feb 2013 08:44:00 +0000</pubDate>
		<guid isPermaLink="false">https://blog.infine.com/?p=427#comment-865</guid>

					<description><![CDATA[Bonjour,

Si je ne me trompe pas, pour la dernière solution, le verrou est automatiquement relâché via la méthode Dispose ?

A partir du Fx 4 il est possible d&#039;utiliser SpinLock tel que:

static void Work(Object acquire, Object demand)

        {

            var sl = new SpinLock();

            var gotLock = false;

            sl.Enter(ref gotLock);

                // manipultation de l&#039;objet acquire

            if (gotLock) sl.Exit();

            gotLock = false;

            sl.Enter(ref gotLock);

                Thread.Sleep(1000);

                // manipulation de l&#039;objet demand

            sl.Exit();

        }

Que pensez vous de cette alternative ?]]></description>
			<content:encoded><![CDATA[<p>Bonjour,</p>
<p>Si je ne me trompe pas, pour la dernière solution, le verrou est automatiquement relâché via la méthode Dispose ?</p>
<p>A partir du Fx 4 il est possible d&#8217;utiliser SpinLock tel que:</p>
<p>static void Work(Object acquire, Object demand)</p>
<p>        {</p>
<p>            var sl = new SpinLock();</p>
<p>            var gotLock = false;</p>
<p>            sl.Enter(ref gotLock);</p>
<p>                // manipultation de l&#8217;objet acquire</p>
<p>            if (gotLock) sl.Exit();</p>
<p>            gotLock = false;</p>
<p>            sl.Enter(ref gotLock);</p>
<p>                Thread.Sleep(1000);</p>
<p>                // manipulation de l&#8217;objet demand</p>
<p>            sl.Exit();</p>
<p>        }</p>
<p>Que pensez vous de cette alternative ?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Par : Imane EL AZLOUK		</title>
		<link>https://blog.infine.com/detecter-les-deadlocks-en-c-net-grace-au-pattern-idisposable-427/comment-page-1#comment-639</link>

		<dc:creator><![CDATA[Imane EL AZLOUK]]></dc:creator>
		<pubDate>Mon, 26 Sep 2011 10:03:43 +0000</pubDate>
		<guid isPermaLink="false">https://blog.infine.com/?p=427#comment-639</guid>

					<description><![CDATA[Bonjour, 

Votre blog a attiré toute mon attention. Nous sommes un éditeur de logiciels spécialisé dans la finance de marché. Nos développeurs travaillent avec du matériel de pointe sur des langages Java et C#. Nous utilisons les dernières versions de Framework .NET et évoluons dans des domaines techniques tels que WinForm, DevExpress… Nos équipes produits sont organisées en méthode Scrum et sont réparties dans 3 de nos filiales : Paris, Hong Kong &#038; Cluj. Dans le cadre du développement de notre entreprise, nous sommes à la recherche d’ingénieurs d’étude et développement pour nos équipes à Paris. 

N’hésitez pas à me contacter pour plus de renseignements. 

Bien cordialement, 

Imane El Azlouk &#124; HR Assistant &#124; ULLINK &#124; T: +33 1 49 95 10 25 &#124;Switch: +33 1 49 95 30 00 &#124;
&#124; 23-25 rue de Provence &#124; 75009 Paris &#124; imane.elazlouk@ullink.com &#124;]]></description>
			<content:encoded><![CDATA[<p>Bonjour, </p>
<p>Votre blog a attiré toute mon attention. Nous sommes un éditeur de logiciels spécialisé dans la finance de marché. Nos développeurs travaillent avec du matériel de pointe sur des langages Java et C#. Nous utilisons les dernières versions de Framework .NET et évoluons dans des domaines techniques tels que WinForm, DevExpress… Nos équipes produits sont organisées en méthode Scrum et sont réparties dans 3 de nos filiales : Paris, Hong Kong &amp; Cluj. Dans le cadre du développement de notre entreprise, nous sommes à la recherche d’ingénieurs d’étude et développement pour nos équipes à Paris. </p>
<p>N’hésitez pas à me contacter pour plus de renseignements. </p>
<p>Bien cordialement, </p>
<p>Imane El Azlouk | HR Assistant | ULLINK | T: +33 1 49 95 10 25 |Switch: +33 1 49 95 30 00 |<br />
| 23-25 rue de Provence | 75009 Paris | <a href="mailto:imane.elazlouk@ullink.com">imane.elazlouk@ullink.com</a> |</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Par : Tweets that mention Détecter les deadlocks en C# / .NET grâce au pattern IDisposable &#124; In Fine blog -- Topsy.com		</title>
		<link>https://blog.infine.com/detecter-les-deadlocks-en-c-net-grace-au-pattern-idisposable-427/comment-page-1#comment-59</link>

		<dc:creator><![CDATA[Tweets that mention Détecter les deadlocks en C# / .NET grâce au pattern IDisposable &#124; In Fine blog -- Topsy.com]]></dc:creator>
		<pubDate>Wed, 09 Feb 2011 14:05:23 +0000</pubDate>
		<guid isPermaLink="false">https://blog.infine.com/?p=427#comment-59</guid>

					<description><![CDATA[[...] This post was mentioned on Twitter by infinegroup and antoineramponi, infinegroup. infinegroup said: Détecter les deadlocks en C# / .NET grâce au pattern IDisposable &#124; In Fine blog http://t.co/AUolEOB via @AddThis #.net [...]]]></description>
			<content:encoded><![CDATA[<p>[&#8230;] This post was mentioned on Twitter by infinegroup and antoineramponi, infinegroup. infinegroup said: Détecter les deadlocks en C# / .NET grâce au pattern IDisposable | In Fine blog <a href="http://t.co/AUolEOB" rel="nofollow ugc">http://t.co/AUolEOB</a> via @AddThis #.net [&#8230;]</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
