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

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

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

    BlogJava 聯(lián)系 聚合 管理  

    Blog Stats

    隨筆檔案

    exams


    java世界

    世界Java

    import java.io.*;

    //多線程編程
    public class MultiThread  
    {
    public static void main(String args[])
    {
    System.out.println("我是主線程!");
    //下面創(chuàng)建線程實(shí)例thread1
    ThreadUseExtends thread1=new ThreadUseExtends();
    //創(chuàng)建thread2時以實(shí)現(xiàn)了Runnable接口的THhreadUseRunnable類實(shí)例為參數(shù)
    Thread thread2=new Thread(new ThreadUseRunnable(),"SecondThread");
    thread1.start();//啟動線程thread1使之處于就緒狀態(tài)
    //thread1.setPriority(6);//設(shè)置thread1的優(yōu)先級為6
    //優(yōu)先級將決定cpu空出時,處于就緒狀態(tài)的線程誰先占領(lǐng)cpu開始運(yùn)行
    //優(yōu)先級范圍1到10,MIN_PRIORITY,MAX_PRIORITY,NORM_PAIORITY
    //新線程繼承創(chuàng)建她的父線程優(yōu)先級,父線程通常有普通優(yōu)先級即5NORM_PRIORITY
    System.out.println("主線程將掛起7秒!");
    try
    {
    Thread.sleep(7000);//主線程掛起7秒
    }
    catch (InterruptedException e)
    {
    return;
    }
    System.out.println("又回到了主線程!");
    if(thread1.isAlive())
    {  
    thread1.stop();//如果thread1還存在則殺掉他
    System.out.println("thread1休眠過長,主線程殺掉了thread1!");
    }
    else
    System.out.println("主線程沒發(fā)現(xiàn)thread1,thread1已醒順序執(zhí)行結(jié)束了!");
    thread2.start();//啟動thread2
    System.out.println("主線程又將掛起7秒!");
    try
    {
    Thread.sleep(7000);//主線程掛起7秒
    }
    catch (InterruptedException e)
    {
    return;
    }
    System.out.println("又回到了主線程!");
    if(thread2.isAlive())
    {  
    thread2.stop();//如果thread2還存在則殺掉他
    System.out.println("thread2休眠過長,主線程殺掉了thread2!");
    }
    else
    System.out.println("主線程沒發(fā)現(xiàn)thread2,thread2已醒順序執(zhí)行結(jié)束了!");
    System.out.println("程序結(jié)束按任意鍵繼續(xù)!");
    try
    {
    System.in.read();
    }
    catch (IOException e)
    {
    System.out.println(e.toString());
    }


    }//main
    }//MultiThread



    class ThreadUseExtends extends Thread
    //通過繼承Thread類,并實(shí)現(xiàn)它的抽象方法run()
    //適當(dāng)時候創(chuàng)建這一Thread子類的實(shí)例來實(shí)現(xiàn)多線程機(jī)制
    //一個線程啟動后(也即進(jìn)入就緒狀態(tài))一旦獲得CPU將自動調(diào)用它的run()方法
    {


    ThreadUseExtends(){}//構(gòu)造函數(shù)
    public void run()
    {
    System.out.println("我是Thread子類的線程實(shí)例!");
    System.out.println("我將掛起10秒!");
    System.out.println("回到主線程,請稍等,剛才主線程掛起可能還沒醒過來!");
    try
    {
    sleep(10000);//掛起5秒
    }
    catch (InterruptedException e)
    {
    return;
    }
    //如果該run()方法順序執(zhí)行完了,線程將自動結(jié)束,而不會被主線程殺掉
    //但如果休眠時間過長,則線程還存活,可能被stop()殺掉
    }
    }



    class ThreadUseRunnable implements Runnable
    //通過實(shí)現(xiàn)Runnable接口中的run()方法,再以這個實(shí)現(xiàn)了run()方法的類
    //為參數(shù)創(chuàng)建Thread的線程實(shí)例
    {
    //Thread thread2=new Thread(this);
    //以這個實(shí)現(xiàn)了Runnable接口中run()方法的類為參數(shù)創(chuàng)建Thread類的線程實(shí)例
    ThreadUseRunnable(){}//構(gòu)造函數(shù)
    public void run()
    {
    System.out.println("我是Thread類的線程實(shí)例并以實(shí)現(xiàn)了Runnable接口的類為參數(shù)!");
    System.out.println("我將掛起1秒!");
    System.out.println("回到主線程,請稍等 jn0-120  try
    {
    Thread.sleep(1000);//掛起5秒
    }
    catch (InterruptedException e)
    {
    return;
    }
    //如果該run()方法順序執(zhí)行完了,線程將自動結(jié)束,而不會被主線程殺掉
    //但如果休眠時間過長,則線程還存活,可能被stop()殺掉
    }


    }
    //該程序可做的修改如改休眠時間或優(yōu)先級setPriority()


    評論

    # re: java一個多線程的經(jīng)典例子 2007-09-19 11:19 千里冰封
    呵呵,有意思.其實(shí)JAVA的線程確實(shí)挺靈活的  回復(fù)  更多評論
      

    # re: java一個多線程的經(jīng)典例子 2007-09-19 11:37 Unmi
    代碼有點(diǎn)亂,不過意思大概是這樣子的
    Win32下是主線程使用API方法
    WaitForSingleObject() 等待單一線程
    或者
    WaitForMultiObject() 等待多個線程
    等待用戶線程執(zhí)行完的信號,退出主線程

    如果你能夠把Object的notify()或notifyAll(),三個wait()方法應(yīng)用上,那么你對線程以及線程間的事件對象(win32的名詞)就有更透徹的理解了

    多線程的實(shí)現(xiàn)機(jī)制其實(shí)在Java中與用Win32 API是完全一致的。  回復(fù)  更多評論
      

    # re: java一個多線程的經(jīng)典例子 2007-09-19 11:59 千里冰封
    JAVA線程也是模擬的,不過模擬的很牛B  回復(fù)  更多評論
      

    # re: java一個多線程的經(jīng)典例子 2007-09-19 17:25 Unmi
    很奇怪,不過也很顯然,有人被瘋狗咬人,迅速過了潛伏期,轉(zhuǎn)而亂咬起人來了。  回復(fù)  更多評論
      

    # re: java一個多線程的經(jīng)典例子 2007-09-19 21:21 TrampEagle
    不錯,有意思,寫的有意思,哈哈。  回復(fù)  更多評論
      

    # re: java一個多線程的經(jīng)典例子 2008-10-18 22:25 ddd
    Thread.sleep(1000);//掛起5秒   回復(fù)  更多評論
      

    # re: java一個多線程的經(jīng)典例子 2008-10-18 22:25 ddd
    Thread.sleep(1000);//掛起5秒
    Thread.sleep(1000);//掛起5秒
    Thread.sleep(1000);//掛起5秒
    Thread.sleep(1000);//掛起5秒   回復(fù)  更多評論
      

    # re: java一個多線程的經(jīng)典例子 2011-07-26 09:51 薩嘎哈
    sb  回復(fù)  更多評論
      

    # re: java一個多線程的經(jīng)典例子[未登錄] 2012-07-10 14:38 123
    @千里冰封
    干脆看不懂啊  回復(fù)  更多評論
      

    # re: java一個多線程的經(jīng)典例子[未登錄] 2012-07-10 14:39 123
    看不懂  回復(fù)  更多評論
      

    # re: java一個多線程的經(jīng)典例子 2013-03-28 10:47 楊揚(yáng)
    很經(jīng)典,確實(shí)不錯  回復(fù)  更多評論
      

    # re: java一個多線程的經(jīng)典例子 2013-07-04 15:10 hhshao_10
    樓主學(xué)的太淺了吧。。。表面是多線程,問題根本沒體現(xiàn)出來,對同一資源的訪問有沒?線程之間的通信有沒?我覺得這例子不經(jīng)典。。傻逼樓主哈哈  回復(fù)  更多評論
      

    # re: java一個多線程的經(jīng)典例子 2013-07-09 11:34 寶少
    看不太懂。。。@薩嘎哈
    sb就是你,你就是sb  回復(fù)  更多評論
      

    # re: java一個多線程的經(jīng)典例子 2013-07-09 11:34 寶少
    @薩嘎哈
    sb就是你,你就是sb,還是龜兒子  回復(fù)  更多評論
      

    # re: java一個多線程的經(jīng)典例子 2013-09-22 17:32 Bairrfhoinn
    這種代碼,怎壹個亂字了得,就不會用用代碼高亮工具排個版啊...  回復(fù)  更多評論
      


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产亚洲免费的视频看| 久久久久亚洲爆乳少妇无 | 亚洲а∨精品天堂在线| 无人在线直播免费观看| 国产精品亚洲自在线播放页码| 国产精品免费观看| 亚洲乱码在线卡一卡二卡新区| 啦啦啦高清视频在线观看免费| 中文字幕亚洲综合久久综合| 67194成是人免费无码| 亚洲国产精品嫩草影院| 国产成人免费a在线资源| 人妻免费久久久久久久了| 国产午夜亚洲精品理论片不卡| 91视频免费网站| 中文字幕亚洲精品资源网| 99在线精品视频观看免费| 亚洲欧美国产精品专区久久| 日韩亚洲精品福利| 免费精品久久天干天干| 亚洲国产日韩女人aaaaaa毛片在线| 91香蕉视频免费| 搜日本一区二区三区免费高清视频| 一本久久a久久精品亚洲| 在线美女免费观看网站h| 亚洲午夜成人精品无码色欲| jjzz亚洲亚洲女人| 玖玖在线免费视频| 国产精品亚洲一区二区麻豆| 亚洲国产午夜中文字幕精品黄网站| 日本免费在线中文字幕| 亚洲日日做天天做日日谢| 亚洲人成色77777在线观看大| 特级精品毛片免费观看| 亚洲中文字幕无码久久2020| 国产成人亚洲综合| 少妇高潮太爽了在线观看免费| 一级毛片a免费播放王色电影| 亚洲精品国产手机| 亚洲精品乱码久久久久久蜜桃 | 国产男女猛烈无遮挡免费视频网站 |