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

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

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

    無線&移動互聯網技術研發

    換位思考·····
    posts - 19, comments - 53, trackbacks - 0, articles - 283
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    多線程設計方法

    Posted on 2009-07-16 22:32 Gavin.lee 閱讀(368) 評論(0)  編輯  收藏 所屬分類: 多線程

    一:繼承Thread,重載run方法
    package com.Gavin.threaddesign;
    /**
     * **********************************************
     * @description 繼承Thread 類的多線程程序 設計方法 
     * 
     * 
    @author Gavin.lee
     * @date Jul 16, 2009    2:25:41 PM
     * 
    @version 1.0
     ***********************************************
     
    */

    class Consumer extends Thread {
        
    int nTime;
        String strConsumer;

        
    public Consumer(int nTime, String strConsumer) {
            
    this.nTime = nTime;
            
    this.strConsumer = strConsumer;
        }


        
    public void run() {
            
    while (true{
                
    try {
                    System.out.println(
    "Consumer name:" + strConsumer + "\n");
                    Thread.sleep(nTime);
                }
     catch (Exception e) {
                    e.printStackTrace();
                }

            }

        }


        
    static public void main(String args[]) {
            Consumer aConsumer 
    = new Consumer(1000"aConsumer");
            aConsumer.start();
            Consumer bConsumer 
    = new Consumer(2000"bConsumer");
            bConsumer.start();
            Consumer cConsumer 
    = new Consumer(3000"cConsumer ");
            cConsumer.start();
        }

    }


    二:實現Runnable接口,重寫run方法
    package com.Gavin.threaddesign;
    /**
     * **********************************************
     * 多線程對象實現Runnable 接口并且在該類中定義用于啟動線程的run 方法。
     * 這種定義方式的好處在于多線程應用對象可以繼承其它對象而不是必須繼承Thread 類,
     * 從而能夠增加類定義的邏輯性
     * 
    @author Gavin.lee
     * @date Jul 16, 2009    2:27:28 PM
     * 
    @version 1.0
     ***********************************************
     
    */

    public class Consumer2 implements Runnable {

        
    int nTime;
        String strConsumer;

        
    public Consumer2(int nTime, String strConsumer) {
            
    this.nTime = nTime;
            
    this.strConsumer = strConsumer;
        }


        
    public void run() {

            
    while (true{
                
    try {
                    System.out.println(
    "Consumer name:" + strConsumer + "\n");
                    Thread.sleep(nTime);
                }
     catch (Exception e) {
                    e.printStackTrace();
                }

            }

        }


        
    static public void main(String args[]) {
            Thread aConsumer 
    = new Thread(new Consumer(1000"aConsumer"));
            aConsumer.start();

        }

    }



    2009年7月19日20:23:14 PS:
    今天挑了一段尚學堂的一段線程的視頻,感覺這個例子更容易理解:
    實現Runnable接口
    package com.Gavin.threaddesign;

    public class TestThread {
        
    public static void main(String args[]) {
            Thread1 t1 
    = new Thread1();
            Thread t 
    = new Thread(t1);
            t.start();    
    //main方法出現執行分支
            
            
    for(int i = 0; i < 50; i++{
                System.err.println(
    "main thread:" + i);
            }

        }
            
    }

    class Thread1 implements Runnable{
        
    public void run() {
            
    for(int i = 0; i < 50; i++{
                System.err.println(
    "Thread1 thread:" + i);
            }

        }
        
    }

    繼承Thread類
    package com.Gavin.threaddesign;

    public class TestThread {
        
    public static void main(String args[]) {
            Thread1 t1 
    = new Thread1();
            t1.start();    
    //main方法出現執行分支
            
            
    for(int i = 0; i < 50; i++{
                System.err.println(
    "main thread:" + i);
            }

        }
            
    }

    class Thread1 extends Thread{
        
    public void run() {
            
    for(int i = 0; i < 50; i++{
                System.err.println(
    "Thread1 thread:" + i);
            }

        }
        
    }

    執行結果將是main線程與Thread1線程隨機交替
    主站蜘蛛池模板: 国产一级高清视频免费看| 亚洲 欧洲 日韩 综合在线| 免费的一级片网站| 国产成人AV片无码免费| 一级免费黄色毛片| 亚洲精品亚洲人成在线| 亚洲国产成人久久| 亚洲精品国产成人专区| 国产亚洲情侣一区二区无码AV| 免费看大黄高清网站视频在线| 91精品免费在线观看| 91福利视频免费| 中文字幕日本人妻久久久免费| 香蕉视频在线观看免费| 亚洲国产成人久久精品软件| 亚洲中文字幕久在线| 亚洲精品视频专区| 久久精品国产亚洲AV麻豆网站| 亚洲国产精品无码专区影院| 在线亚洲97se亚洲综合在线| 亚洲精品乱码久久久久久不卡| 国产精品免费_区二区三区观看| 毛片a级毛片免费观看品善网| 最近最好最新2019中文字幕免费| 永久免费A∨片在线观看| 热99RE久久精品这里都是精品免费| yellow视频免费在线观看| 一个人看的www在线免费视频| 一级毛片a免费播放王色电影| 老司机午夜精品视频在线观看免费| 久久亚洲AV成人无码国产电影| 亚洲国产精品无码久久久秋霞1| 亚洲人成色77777在线观看| 亚洲人成电影网站色www| 亚洲AV成人一区二区三区观看 | 亚洲一区二区三区免费视频| 精品亚洲国产成AV人片传媒| 91亚洲va在线天线va天堂va国产| 亚洲视频手机在线| 亚洲人成人77777网站不卡| 亚洲熟妇少妇任你躁在线观看|