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

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

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

    Java世界

    學(xué)習(xí)筆記

    常用鏈接

    統(tǒng)計(jì)

    積分與排名

    天籟村

    新華網(wǎng)

    雅虎

    最新評(píng)論

    Java線程

    多進(jìn)程:在操作系統(tǒng)中能運(yùn)行多個(gè)任務(wù)。
    多線程:在同一個(gè)應(yīng)用程序中有多個(gè)順序流執(zhí)行。
    兩者區(qū)別:進(jìn)程擁有自己完整的變量,線程則共享相同的數(shù)據(jù)。

    JVM有一個(gè)主線程,啟動(dòng)Java程序則啟動(dòng)他,并調(diào)用程序的main()方法,多線程是通過虛擬CPU實(shí)現(xiàn),通過java.lang.Thread類實(shí)現(xiàn),繼承Thread類。
    構(gòu)造方法:
    Thread()
    Thread(Runable target)
    Thread(Runable target,String name)
    啟動(dòng)線程用run()方法,自動(dòng)調(diào)用。
    start()進(jìn)入可運(yùn)行狀態(tài),通過“.”來(lái)調(diào)用。

    1.實(shí)現(xiàn)Runable接口定義唯一的run()方法。
    Class rt = new Class();
    Thread t = new Thread(rt);
    t.start();
    2.繼承Thread類。
    Thread t = new Thread();
    t.start();
    兩者的區(qū)別:
    1.Runable 可以從其他類繼承,保持程序風(fēng)格一致性。
    2.Thread 不能再?gòu)钠渌惱^承。

    結(jié)束線程:
    1.run()方法執(zhí)行完畢。
    2.拋出一個(gè)異?;蝈e(cuò)誤。
    3.調(diào)用一個(gè)Deprecated的stop()方法。(過時(shí))

    后臺(tái)線程為其他線程提供服務(wù),優(yōu)先級(jí)最低,級(jí)別0-10,默認(rèn)級(jí)別為5。
    如:Thread dt = new Thread();
    ??????? dt.setDaemon(true);??? //設(shè)置成后臺(tái)線程
    ??????? dt.start();

    線程控制:

    測(cè)試線程是否處于Runable狀態(tài)???isAlive()方法。

    中斷線程
    ?Thread.sleep()中斷時(shí)間以毫秒為單位。
    ?Thread.yield()放棄執(zhí)行,執(zhí)行不低于此線程的其他線程。

    設(shè)置線程的優(yōu)先級(jí)
    getPriority() 獲取
    setPriority() 設(shè)置

    對(duì)象方法
    wait()處于等待狀態(tài),等待被喚醒。
    notify()/notifyAll() 喚醒線程/所有線程。

    join()調(diào)用這個(gè)方法主線程,等待加入子線程完成。

    異常為 InterruptedException e 。

    Thread.currentThread().isAlive();?? // 獲取當(dāng)前線程是否處于Runable狀態(tài)
    Thread.currentThread().getName();? //獲取當(dāng)前線程的名字

    互斥鎖:保證共享數(shù)據(jù)的完整性。每個(gè)對(duì)象對(duì)應(yīng)一個(gè)標(biāo)記,保證在任一時(shí)刻,只能有一個(gè)線程訪問該對(duì)象,使用synchronized關(guān)鍵字修飾。放在方法、對(duì)象、塊前。
    釋放鎖用break,return或拋出exception自動(dòng)釋放;調(diào)用wait()方法將放棄擁有的對(duì)象鎖。
    如:public void method() {
    ???????????????synchronized(obj) {
    ???????????????}
    ?????????}
    ?????????等同于
    ?????????public synchronized void method() {
    ?????????}


    死鎖:兩個(gè)線程都在等待對(duì)象鎖,不可避免。

    posted on 2007-11-01 11:35 Rabbit 閱讀(229) 評(píng)論(0)  編輯  收藏


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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲乱码一区av春药高潮| 免费人成网站永久| 特级一级毛片免费看| 四虎在线免费视频| 亚洲午夜福利精品久久| 亚洲人成77777在线观看网| 在线播放免费人成毛片乱码| 国产一级淫片a免费播放口之| 亚洲午夜成激人情在线影院| 在线观看无码的免费网站| 亚洲精品国产第1页| 99免费精品视频| 亚洲精品无码精品mV在线观看| 国产亚洲情侣久久精品| 国产精品国产自线拍免费软件| 亚洲中文字幕无码久久2020 | 99久久久国产精品免费牛牛 | 丁香花免费完整高清观看| 亚洲精品视频在线| 成人爽a毛片免费| 欧洲亚洲国产精华液| 日韩高清在线高清免费| 激情小说亚洲色图| 亚洲 综合 国产 欧洲 丝袜| 亚洲精品无码人妻无码 | 亚洲人成电影福利在线播放| 国产精品视_精品国产免费| 未满十八18禁止免费无码网站| 久久亚洲精品视频| 久久综合九色综合97免费下载| 亚洲高清在线视频| 久久青草91免费观看| 高潮内射免费看片| 亚洲国产精品免费观看| 久久久无码精品亚洲日韩按摩 | 亚洲综合精品网站| 免费爱爱的视频太爽了| 免费一区二区无码视频在线播放 | 一级日本高清视频免费观看| 久久亚洲国产成人影院网站| a色毛片免费视频|