<?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:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments for shiv Pratap singh</title>
	<atom:link href="http://shivpratap.wordpress.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://shivpratap.wordpress.com</link>
	<description>what is ur Question?</description>
	<lastBuildDate>Tue, 01 Jul 2008 13:32:47 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on MULTITHREADING JAVA by Amar</title>
		<link>http://shivpratap.wordpress.com/2007/10/17/multithreading-java/#comment-2</link>
		<dc:creator>Amar</dc:creator>
		<pubDate>Tue, 01 Jul 2008 13:32:47 +0000</pubDate>
		<guid isPermaLink="false">http://shivpratap.wordpress.com/2007/10/17/multithreading-java/#comment-2</guid>
		<description>Good example for dead lock.

import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;

/**
 * @author &lt;a href=&quot;mailto:amareswar.reddy@pramati.com&quot; rel=&quot;nofollow&quot;&gt;Amareswar Reddy&lt;/a&gt;
 * @version $Revision$, $Date$, $Author$
 * @since Jul 1, 2008
 */
public class JoinTest
{
   private static final Lock lock = new ReentrantLock();

    public static void main(String[] args) throws InterruptedException
    {
        lock.lock();
        try {
            Thread t1 = new Thread(new Runnable(){
            public void run()
            {
                lock.lock();
                try{
                System.out.println(&quot;Sleeping for ten sconds and main thread should wait&quot;);
                try {
                    Thread.sleep(10000);
                } catch (InterruptedException e) {

                }
                } finally {
                    lock.unlock();
                }
            }
        });
        t1.start();
        t1.join();
        System.out.println(&quot;waited till outer thread is completed&quot;);
        } finally {
            lock.unlock();
        }

    }
}</description>
		<content:encoded><![CDATA[<p>Good example for dead lock.</p>
<p>import java.util.concurrent.locks.Lock;<br />
import java.util.concurrent.locks.ReentrantLock;</p>
<p>/**<br />
 * @author <a href="mailto:amareswar.reddy@pramati.com" rel="nofollow">Amareswar Reddy</a><br />
 * @version $Revision$, $Date$, $Author$<br />
 * @since Jul 1, 2008<br />
 */<br />
public class JoinTest<br />
{<br />
   private static final Lock lock = new ReentrantLock();</p>
<p>    public static void main(String[] args) throws InterruptedException<br />
    {<br />
        lock.lock();<br />
        try {<br />
            Thread t1 = new Thread(new Runnable(){<br />
            public void run()<br />
            {<br />
                lock.lock();<br />
                try{<br />
                System.out.println(&#8220;Sleeping for ten sconds and main thread should wait&#8221;);<br />
                try {<br />
                    Thread.sleep(10000);<br />
                } catch (InterruptedException e) {</p>
<p>                }<br />
                } finally {<br />
                    lock.unlock();<br />
                }<br />
            }<br />
        });<br />
        t1.start();<br />
        t1.join();<br />
        System.out.println(&#8220;waited till outer thread is completed&#8221;);<br />
        } finally {<br />
            lock.unlock();<br />
        }</p>
<p>    }<br />
}</p>
]]></content:encoded>
	</item>
</channel>
</rss>
