<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

    線程4--線程的協(xié)作

    Posted on 2009-06-02 20:19 啥都寫點(diǎn) 閱讀(184) 評(píng)論(0)  編輯  收藏 所屬分類: J2SE
    關(guān)鍵技術(shù):
    • 在synchronized代碼塊中使用wait方法,能夠使當(dāng)前線程進(jìn)入等待狀態(tài),并釋放當(dāng)前線程擁有的對(duì)象鎖。
    • 在synchronized代碼塊中使用notify或者notifyAll方法,當(dāng)前線程釋放對(duì)象鎖,并喚醒其他正在等待該對(duì)象鎖的線程。當(dāng)有多個(gè)線程都在等待該對(duì)象鎖時(shí),由Java虛擬機(jī)決定被喚醒的等待線程。

    package book.thread;

    import java.util.Vector;

    /**
     * 線程間的協(xié)作
     
    */
    public class WaitNotify {
        
    /**
         * 打印信息的類,是一個(gè)線程。
         
    */
        
    static class Printer extends Thread{
            Vector task 
    = new Vector();
            
    boolean running = false;
            
    public void start(){
                
    this.running = true;
                
    super.start();
            }
            
    public void run(){
                
    try {
                    System.out.println(
    "Printer begin!");
                    
    while (running){
                        
    synchronized(this) {
                            
    while ((task.size() == 0&& running){
                                
    //如果任務(wù)列表為空,而且線程還允許運(yùn)行,則等待任務(wù)
                                System.out.println("wait begin!");
                                
    //該線程進(jìn)入等待狀態(tài),直到被其他線程喚醒
                                wait();
                                System.out.println(
    "wait end!");
                            }
                        }
                        
    if (running){
                            System.out.println(
    "print the task: " + task.remove(0));
                        }
                    }
                    System.out.println(
    "Printer end!");
                } 
    catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
            
    /**
             * 添加待打印的任務(wù)
             
    */
            
    public void addTask(String str){
                
                
    synchronized (this){
                    
    this.task.add(str);
                    
    //喚醒其他等待的線程
                    System.out.println("addTask notify!");
                    notify();
                    
    //notifyAll();
                }
            }
            
    /**
             * 停止線程
             
    */
            
    public void stopPrinter(){
                
    this.running = false;
                
    synchronized (this){
                    
    //喚醒其他等待的線程
                    System.out.println("stopPrinter notify!");
                    notify();
                }
            }
        }

        
    public static void main(String[] args) {
            Printer printer 
    = new Printer();
            
    //啟動(dòng)打印線程
            printer.start();
            
    //添加任務(wù)
            try {
                Thread.sleep(
    200);
                
    for (int i=0; i<5; i++){
                    
    //休眠200毫秒
                    Thread.sleep(200);
                    printer.addTask(
    "The task " + i);
                }
            }
            
    catch (InterruptedException e) {
                e.printStackTrace();
            }
            printer.stopPrinter();
        }
    }



                                                                                                           --    學(xué)海無(wú)涯
            

    主站蜘蛛池模板: 国产L精品国产亚洲区久久| 99视频在线精品免费| 男人的好看免费观看在线视频 | 亚洲国产成人久久综合| 精品国产sm捆绑最大网免费站| 久久亚洲中文字幕精品有坂深雪 | 思思re热免费精品视频66 | 亚洲综合国产精品| 59pao成国产成视频永久免费 | 亚洲av无码专区在线电影天堂| 91视频国产免费| 2020天堂在线亚洲精品专区| 久久国产免费福利永久| 亚洲AV无码国产精品色| 成人超污免费网站在线看| 亚洲精品国产suv一区88| 日本特黄a级高清免费大片| 亚洲AV无码之国产精品| 免费很黄很色裸乳在线观看| eeuss影院免费直达入口| 亚洲中文字幕在线观看| 精品一区二区三区免费毛片爱| 亚洲日韩中文字幕| 在线jyzzjyzz免费视频| 爱情岛论坛免费视频| 亚洲精品美女久久久久99| 88xx成人永久免费观看| 亚洲精品无码成人| 国产午夜亚洲不卡| 黄页网站在线看免费| 色哟哟国产精品免费观看| 亚洲gv白嫩小受在线观看| 无码中文在线二区免费| 一本大道一卡二大卡三卡免费| 亚洲美女中文字幕| 国产男女性潮高清免费网站| 久久最新免费视频| 亚洲色偷偷综合亚洲av78| 国产亚洲美日韩AV中文字幕无码成人| 三年片在线观看免费大全电影| 亚洲欧洲精品成人久久曰|