<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日韩av不卡在线观看| 4399影视免费观看高清直播| 免费无遮挡无遮羞在线看| 亚洲六月丁香婷婷综合| 亚洲成AV人片一区二区密柚| gogo全球高清大胆亚洲| 欧美三级在线电影免费| 久久99热精品免费观看动漫| a毛片成人免费全部播放| 亚洲色大成WWW亚洲女子| 亚洲成a人片在线观看播放| 久久精品国产亚洲AV果冻传媒| 亚洲高清偷拍一区二区三区| 精品久久久久久久免费人妻| 黄页网站在线看免费| 91精品国产免费久久国语麻豆| a视频在线免费观看| kk4kk免费视频毛片| 麻豆91免费视频| 亚洲国产成人AV网站| 亚洲精品国产日韩| 亚洲一区在线观看视频| 亚洲毛片免费视频| 亚洲最大成人网色| 亚洲国产精品免费视频| 亚洲精品国产成人专区| 亚洲福利在线视频| 亚洲黄色中文字幕| 亚洲国产综合第一精品小说| 亚洲中文字幕人成乱码| 国产成人精品亚洲日本在线| 国产成人精品日本亚洲专区6| 亚洲精品在线免费观看| 亚洲AV无码成H人在线观看| 免费涩涩在线视频网| 免费精品国产自产拍在线观看图片 | 成人免费无码大片a毛片| 99久久免费观看| 免费国产污网站在线观看15| 成人无码区免费A∨直播|