<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Cyh的博客

    Email:kissyan4916@163.com
    posts - 26, comments - 19, trackbacks - 0, articles - 220

    線程10--一個死鎖的例子

    Posted on 2009-06-02 21:41 啥都寫點 閱讀(393) 評論(0)  編輯  收藏 所屬分類: J2SE
    關(guān)鍵技術(shù):
    • 當線程進入對象的synchronized代碼時,便占據(jù)了資源,直到它退出該代碼塊或者調(diào)用wait方法時,才釋放該資源,在此期間,其他線程將不能進入該代碼塊。
    • 當線程互相持有對方需要的資源時,會互相等待對方釋放資源,如果線程都不主動釋放占據(jù)的資源,將產(chǎn)生死鎖。

    package book.thread;

    /**
     * 一個線程死鎖的例子
     
    */
    public class DeadLock {
        
    public static void main(String[] args) {
            
    // 2個資源
            final Object resource1 = "resource1";
            
    final Object resource2 = "resource2";
            
    // 第一個線程,想先占有resource1,再嘗試著占有resource2
            Thread t1 = new Thread() {
                
    public void run() {
                    
    //嘗試占有了resource1
                    synchronized (resource1) {
                        
    //成功占有resource1
                        System.out.println("Thread 1: locked resource 1");
                        
    //休眠一段時間
                        try {
                            Thread.sleep(
    50);
                        } 
    catch (InterruptedException e) {
                        }
                        
    // 嘗試著占有resource2,如果不能占有,該線程會一直等待
                        synchronized (resource2) {
                            System.out.println(
    "Thread 1: locked resource 2");
                        }
                    }
                }
            };

            
    // 第二個線程,想先占有resource2,再占有resource1
            Thread t2 = new Thread() {
                
    public void run() {
                    
    // 嘗試著占有resource2
                    synchronized (resource2) {
                        
    // 成功占有resource2
                        System.out.println("Thread 2: locked resource 2");
                        
    // 休眠一段時間
                        try {
                            Thread.sleep(
    50);
                        } 
    catch (InterruptedException e) {
                        }
                        
    // 嘗試占有resource1,如果不能占有,該線程會一直等待
                        synchronized (resource1) {
                            System.out.println(
    "Thread 2: locked resource 1");
                        }
                    }
                }
            };
            
    // 啟動兩個線程
            t1.start();
            t2.start();
        }
    }


                                                                                                           --    學海無涯
            

    主站蜘蛛池模板: 国产无遮挡吃胸膜奶免费看| 亚洲午夜精品第一区二区8050| 亚洲日韩AV一区二区三区中文| 免费一级国产生活片| 巨胸喷奶水www永久免费| 亚洲丝袜美腿视频| 在线免费观看一区二区三区| 国产免费区在线观看十分钟| 亚洲综合亚洲国产尤物| 国产在线19禁免费观看国产 | 亚洲国产精品狼友中文久久久| a级毛片免费全部播放| 97久久国产亚洲精品超碰热| 中文字幕日韩亚洲| 中文字幕av无码无卡免费| 国产精品99久久免费观看| 精品丝袜国产自在线拍亚洲| 久久亚洲AV永久无码精品| 皇色在线视频免费网站| 精品多毛少妇人妻AV免费久久| 亚洲成a人片7777| 国产午夜亚洲不卡| 老司机永久免费网站在线观看| 久久久久国产精品免费网站| 老司机午夜在线视频免费| 亚洲一卡2卡4卡5卡6卡残暴在线| 亚洲伊人成无码综合网| 日韩电影免费在线| 999国内精品永久免费观看| 中文无码日韩欧免费视频| 亚洲中文精品久久久久久不卡| 亚洲不卡中文字幕无码| 日韩亚洲国产综合久久久| 又黄又爽又成人免费视频| 国产在线一区二区综合免费视频| 亚洲AV无码之国产精品| 亚洲国产精品线观看不卡| 久久久久亚洲精品美女| 国产亚洲日韩在线三区| 免费大黄网站在线观| 好吊妞在线成人免费|