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

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

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

    大漠駝鈴

    置身浩瀚的沙漠,方向最為重要,希望此blog能向大漠駝鈴一樣,給我方向和指引。
    Java,Php,Shell,Python,服務(wù)器運(yùn)維,大數(shù)據(jù),SEO, 網(wǎng)站開發(fā)、運(yùn)維,云服務(wù)技術(shù)支持,IM服務(wù)供應(yīng)商, FreeSwitch搭建,技術(shù)支持等. 技術(shù)討論QQ群:428622099
    隨筆 - 238, 文章 - 3, 評(píng)論 - 117, 引用 - 0
    數(shù)據(jù)加載中……

    Java 線程學(xué)習(xí)(3):sleep()和join()方法

      sleep方法會(huì)使當(dāng)前的線程暫停執(zhí)行一定時(shí)間(給其它線程運(yùn)行機(jī)會(huì))。讀者可以運(yùn)行示例1,看看結(jié)果就明白了。sleep方法會(huì)拋出異常,必須提供捕獲代碼。
    實(shí)例一:
    public class ThreadTest implements Runnable{
     public void run(){
     
    for(int k=0;k<5;k++){
     
    if(k==2){
     
    try{
     Thread.currentThread().sleep(
    5000);
     }
     
    catch(Exception e){}
     }
     System.out.println(Thread.currentThread().getName()
     
    +":"+k);
     }
     }
     public static void main(String[] args){
     Runnable r
    =new ThreadTest();
     Threadt 1
    =new Thread(r,"t1_name");
     Threadt 2
    =new Thread(r,"t2_name");
     t1.setPriority(Thread.MAX_PRIORITY);
     t2.setPriority(Thread.MIN_PRIORITY);
     t1.start();
     t2.start();
     }
    }
    t1被設(shè)置了最高的優(yōu)先級(jí),t2被設(shè)置了最低的優(yōu)先級(jí)。t1不執(zhí)行完,t2就沒有機(jī)會(huì)執(zhí)行。但由于t1在執(zhí)行的中途休息了5秒中,這使得t2就有機(jī)會(huì)執(zhí)行了。

    實(shí)例二:
    public class ThreadTest implements Runnable{
     public synchronized void run(){
     
    for(int k=0;k<5;k++){
     
    if(k==2){
     
    try{
     Thread.currentThread().sleep(
    5000);
     }
     
    catch(Exceptione){}
     }
     System.out.println(Thread.currentThread().getName()
     
    +":"+k);
     }
     }
     publicstaticvoidmain(String[]args){
     Runnable r
    =new ThreadTest();
     Threadt 1
    =new Thread(r,"t1_name");
     Threadt 2
    =new Thread(r,"t2_name");
     t1.start();
     t2.start();
     }
    }
    請(qǐng)讀者首先運(yùn)行示例程序,從運(yùn)行結(jié)果上看:一個(gè)線程在sleep的時(shí)候,并不會(huì)釋放這個(gè)對(duì)象的鎖標(biāo)志。


    join()方法:
    join()方法,它能夠使調(diào)用該方法的線程在此之前執(zhí)行完畢。
    實(shí)例a
    public class ThreadTest implements Runnable{
     
    public static int a=0;
     
    public void run(){
     
    for(intk=0;k<5;k++){
     a
    =a+1;
     }
     }
     
    public static void main(String[] args){
     Runnable r
    =new ThreadTest();
     Thread t
    =new Thread(r);
     t.start();
     System.out.println(a);
     }
    }
    運(yùn)行結(jié)果不一定是5, 如果想讓 輸出的結(jié)果是5, 需要運(yùn)用join,
    把上面的代碼改成如下:
    public class ThreadTest implements Runnable{
     
    public static int a=0;
     
    public void run(){
     
    for(intk=0;k<5;k++){
     a
    =a+1;
     }
     }
     
    public static void main(String[] args){
     Runnable r
    =new ThreadTest();
     Thread t
    =new Thread(r);
     t.start();
         t.join();
     System.out.println(a);
     }
    }
    測(cè)試一下以上的代碼即可,答案為輸出5.join()方法會(huì)拋出異常,應(yīng)該提供捕獲代碼。或留給JDK捕獲。

    posted on 2009-02-26 19:44 草原上的駱駝 閱讀(465) 評(píng)論(0)  編輯  收藏 所屬分類: JAVA基礎(chǔ)知識(shí)

    主站蜘蛛池模板: 亚洲av乱码一区二区三区香蕉| 亚洲黄片毛片在线观看| 亚洲人成人无码.www石榴| 亚洲精品无码专区久久同性男| 免费a级黄色毛片| 免费看国产精品3a黄的视频| 人人爽人人爽人人片A免费| 久久久无码精品亚洲日韩蜜臀浪潮| 夫妻免费无码V看片| 国产精品免费大片| 人妻免费久久久久久久了| 亚洲人av高清无码| 免费一区二区三区| 中文字幕在线免费观看视频| 国产亚洲sss在线播放| 亚洲精品白色在线发布| 久久久久久久久亚洲| 亚洲国产精品免费视频| 亚洲国产天堂久久综合网站| 久久久久久久久无码精品亚洲日韩| 亚洲AV美女一区二区三区| 全部一级一级毛片免费看| 91黑丝国产线观看免费 | 曰曰鲁夜夜免费播放视频 | 亚洲精品影院久久久久久| 四虎精品成人免费视频| aa级一级天堂片免费观看| 韩国日本好看电影免费看| 国产免费看插插插视频| 亚洲国产精品综合久久网络| 久久精品国产亚洲AV不卡| 亚洲av无码精品网站| 亚洲午夜电影一区二区三区| 亚洲av永久无码天堂网| 精品多毛少妇人妻AV免费久久| 日韩午夜理论免费TV影院| 最新中文字幕免费视频| 久久91亚洲人成电影网站| 亚洲高清有码中文字| 91视频免费观看| 成人黄页网站免费观看大全|