線程基礎--join&yeild&sleep

  • 1 sleep休眠的意思庶香,特點是在休眠的時候如果有鎖是不會釋放鎖的丑慎。
  • 2 join例如t.join()意思是裹唆,阻塞當前調(diào)用線程号杏,直到線程t執(zhí)行完成婴氮。
  • 3 yeild意思是讓出CPU讓其他線程執(zhí)行。
    來分別看一下例子:
    sleep:
package com.yuxi;

/**
 * 線程休眠的例子
 * Created by yuxi on 17/1/27.
 */
public class SleepDemo {
    public static void main(String[] args) {
        MyThread m = new MyThread();
        //加鎖之后看如果一個線程進入休眠,是否其他的線程可以拿到這個鎖
        new Thread(m).start();
        new Thread(m).start();
        new Thread(m).start();
    }

    static class MyThread implements Runnable {
        public void run() {
            synchronized (this) {
                try {
                    System.out.println(Thread.currentThread().getName()+"當前線程休眠盾致。主经。。" + System.currentTimeMillis());
                    Thread.sleep(5000);
                    System.out.println(Thread.currentThread().getName()+"當前線程休眠庭惜。罩驻。。" + System.currentTimeMillis());
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

結(jié)果是:

Thread-0當前線程休眠护赊。惠遏。。1485488800173
Thread-0當前線程休眠骏啰。节吮。。1485488805177
Thread-2當前線程休眠判耕。透绩。。1485488805177
Thread-2當前線程休眠壁熄。帚豪。。1485488810181
Thread-1當前線程休眠请毛。志鞍。。1485488810181
Thread-1當前線程休眠方仿。。仙蚜。1485488815185

yeild:

package com.yuxi;

/**
 * yeild 高風亮節(jié)讓出cup
 * Created by yuxi on 17/1/27.
 */
public class YeildDemo {
    public static void main(String[] args) {
        MyThread myThread = new MyThread();
        new Thread(myThread).start();
        new Thread(myThread).start();

    }

    static class MyThread implements Runnable {
        public synchronized void run() {
            for (int i = 0; i < 100; i++) {
                if (i % 4 == 0) {
                    Thread.yield();
                } else {
                    System.out.println("當前線程為此洲。。委粉。呜师。" + Thread.currentThread().getName());
                }


            }
        }

    }
}

結(jié)果是:

當前線程為。贾节。汁汗。衷畦。Thread-0
當前線程為。知牌。祈争。。Thread-0
當前線程為角寸。菩混。。扁藕。Thread-0
當前線程為沮峡。。亿柑。邢疙。Thread-0
當前線程為。橄杨。秘症。。Thread-0
當前線程為式矫。。役耕。采转。Thread-0
當前線程為。瞬痘。故慈。。Thread-0
當前線程為框全。察绷。。津辩。Thread-0
當前線程為拆撼。。喘沿。闸度。Thread-0
當前線程為。蚜印。莺禁。。Thread-0
當前線程為窄赋。哟冬。楼熄。。Thread-0
當前線程為浩峡。可岂。。红符。Thread-0
當前線程為青柄。。预侯。致开。Thread-0
當前線程為。萎馅。双戳。。Thread-0
當前線程為糜芳。飒货。。峭竣。Thread-0
當前線程為塘辅。。皆撩。扣墩。Thread-0
當前線程為。扛吞。呻惕。。Thread-0
當前線程為滥比。亚脆。。盲泛。Thread-0
當前線程為濒持。。查乒。弥喉。Thread-0
當前線程為。玛迄。由境。。Thread-0
當前線程為。虏杰。讥蟆。。Thread-0
當前線程為纺阔。瘸彤。。笛钝。Thread-0
當前線程為质况。。玻靡。结榄。Thread-0
當前線程為。囤捻。臼朗。。Thread-0
當前線程為蝎土。视哑。。誊涯。Thread-0
當前線程為挡毅。。暴构。慷嗜。Thread-0
當前線程為。丹壕。。薇溃。Thread-0
當前線程為菌赖。。沐序。琉用。Thread-0
當前線程為。策幼。邑时。。Thread-0
當前線程為特姐。晶丘。。。Thread-0
當前線程為浅浮。沫浆。。滚秩。Thread-0
當前線程為专执。。郁油。本股。Thread-0
當前線程為。桐腌。拄显。。Thread-0
當前線程為哩掺。凿叠。。嚼吞。Thread-0
當前線程為盒件。。舱禽。炒刁。Thread-0
當前線程為。誊稚。翔始。。Thread-0
當前線程為里伯。城瞎。。疾瓮。Thread-0
當前線程為脖镀。。狼电。蜒灰。Thread-0
當前線程為。肩碟。强窖。。Thread-0
當前線程為削祈。翅溺。。。Thread-0
當前線程為未巫。窿撬。。叙凡。Thread-0
當前線程為劈伴。。握爷。跛璧。Thread-0
當前線程為。新啼。追城。。Thread-0
當前線程為燥撞。座柱。。物舒。Thread-0
當前線程為色洞。。冠胯。火诸。Thread-0
當前線程為。荠察。置蜀。。Thread-0
當前線程為悉盆。盯荤。。焕盟。Thread-0
當前線程為廷雅。。京髓。。Thread-0
當前線程為商架。堰怨。。蛇摸。Thread-0
當前線程為备图。。。揽涮。Thread-0
當前線程為抠藕。。蒋困。盾似。Thread-0
當前線程為。雪标。零院。。Thread-0
當前線程為村刨。告抄。。嵌牺。Thread-0
當前線程為打洼。。逆粹。募疮。Thread-0
當前線程為。枯饿。酝锅。。Thread-0
當前線程為奢方。搔扁。。蟋字。Thread-0
當前線程為稿蹲。。鹊奖。苛聘。Thread-0
當前線程為。忠聚。设哗。。Thread-0
當前線程為两蟀。网梢。。赂毯。Thread-0
當前線程為战虏。拣宰。若未。冈爹。Thread-0
當前線程為。奋构。手趣。晌该。Thread-0
當前線程為。回懦。气笙。。Thread-0
當前線程為怯晕。潜圃。。舟茶。Thread-0
當前線程為谭期。。吧凉。隧出。Thread-0
當前線程為。阀捅。胀瞪。。Thread-0
當前線程為饲鄙。凄诞。。忍级。Thread-0
當前線程為帆谍。。轴咱。汛蝙。Thread-0
當前線程為。朴肺。窖剑。。Thread-0
當前線程為戈稿。苛吱。。器瘪。Thread-0
當前線程為翠储。。橡疼。援所。Thread-0
當前線程為。欣除。住拭。。Thread-0
當前線程為历帚。滔岳。。挽牢。Thread-0
當前線程為谱煤。。禽拔。刘离。Thread-0
當前線程為。睹栖。硫惕。。Thread-0
當前線程為野来。恼除。。曼氛。Thread-0
當前線程為豁辉。。搪锣。秋忙。Thread-1
當前線程為。构舟。灰追。。Thread-1
當前線程為狗超。弹澎。。努咐。Thread-1
當前線程為苦蒿。。渗稍。佩迟。Thread-1
當前線程為团滥。。报强。灸姊。Thread-1
當前線程為。秉溉。力惯。。Thread-1
當前線程為召嘶。父晶。。弄跌。Thread-1
當前線程為甲喝。。碟绑。俺猿。Thread-1
當前線程為。格仲。押袍。。Thread-1
當前線程為凯肋。谊惭。。侮东。Thread-1
當前線程為圈盔。。悄雅。驱敲。Thread-1
當前線程為。宽闲。众眨。。Thread-1
當前線程為容诬。娩梨。。览徒。Thread-1
當前線程為狈定。。习蓬。纽什。Thread-1
當前線程為措嵌。。芦缰。铅匹。Thread-1
當前線程為。饺藤。。流礁。Thread-1
當前線程為涕俗。。神帅。再姑。Thread-1
當前線程為。找御。元镀。。Thread-1
當前線程為霎桅。栖疑。。滔驶。Thread-1
當前線程為遇革。。揭糕。萝快。Thread-1
當前線程為。著角。揪漩。。Thread-1
當前線程為吏口。奄容。。锨侯。Thread-1
當前線程為嫩海。。囚痴。叁怪。Thread-1
當前線程為。深滚。奕谭。涣觉。Thread-1
當前線程為。血柳。官册。。Thread-1
當前線程為难捌。膝宁。。根吁。Thread-1
當前線程為员淫。。击敌。介返。Thread-1
當前線程為。沃斤。圣蝎。。Thread-1
當前線程為衡瓶。徘公。。鞍陨。Thread-1
當前線程為步淹。。诚撵。缭裆。Thread-1
當前線程為。寿烟。澈驼。。Thread-1
當前線程為筛武。缝其。。徘六。Thread-1
當前線程為内边。。待锈。漠其。Thread-1
當前線程為。。和屎。拴驮。Thread-1
當前線程為。柴信。套啤。。Thread-1
當前線程為随常。潜沦。。绪氛。Thread-1
當前線程為止潮。。钞楼。。Thread-1
當前線程為袄琳。询件。。唆樊。Thread-1
當前線程為宛琅。。逗旁。嘿辟。Thread-1
當前線程為。片效。红伦。。Thread-1
當前線程為淀衣。昙读。。膨桥。Thread-1
當前線程為蛮浑。。只嚣。沮稚。Thread-1
當前線程為。册舞。蕴掏。。Thread-1
當前線程為。囚似。剩拢。。Thread-1
當前線程為饶唤。徐伐。。募狂。Thread-1
當前線程為办素。。祸穷。性穿。Thread-1
當前線程為。雷滚。需曾。。Thread-1
當前線程為祈远。呆万。。车份。Thread-1
當前線程為谋减。。扫沼。出爹。Thread-1
當前線程為。缎除。严就。。Thread-1
當前線程為器罐。盈蛮。。技矮。Thread-1
當前線程為抖誉。。衰倦。袒炉。Thread-1
當前線程為。樊零。我磁。孽文。Thread-1
當前線程為。夺艰。芋哭。。Thread-1
當前線程為郁副。减牺。。存谎。Thread-1
當前線程為拔疚。。既荚。稚失。Thread-1
當前線程為。恰聘。句各。。Thread-1
當前線程為晴叨。诫钓。。篙螟。Thread-1
當前線程為。问拘。遍略。。Thread-1
當前線程為骤坐。绪杏。。纽绍。Thread-1
當前線程為蕾久。。拌夏。僧著。Thread-1
當前線程為。障簿。盹愚。。Thread-1
當前線程為站故。皆怕。毅舆。。Thread-1
當前線程為愈腾。憋活。。虱黄。Thread-1
當前線程為悦即。。礁鲁。盐欺。Thread-1
當前線程為。仅醇。冗美。。Thread-1
當前線程為析二。粉洼。。叶摄。Thread-1
當前線程為属韧。。蛤吓。宵喂。Thread-1
當前線程為。会傲。锅棕。。Thread-1
當前線程為淌山。裸燎。。泼疑。Thread-1
當前線程為德绿。。退渗。移稳。Thread-1
當前線程為。会油。秒裕。。Thread-1
當前線程為钞啸。几蜻。喇潘。。Thread-1
當前線程為梭稚。颖低。。弧烤。Thread-1
當前線程為忱屑。。暇昂。莺戒。Thread-1

其實執(zhí)行結(jié)果可以看出讓出CPU并不是說就一定會讓另外一個線程執(zhí)行,還是搶占式的急波。
join:
一道經(jīng)常出現(xiàn)的面試題,怎么保證T1,T2,T3三個同時啟動的線程按照順序執(zhí)行,例如順序T1,T2,T3

package com.yuxi;

/**
 * 一道經(jīng)常出現(xiàn)的面試題,怎么保證T1,T2,T3三個同時啟動的線程按照順序執(zhí)行,例如順序T1,T2,T3
 * Created by yuxi on 17/1/27.
 */
public class JoinDemo {
    public static void main(String[] args) {
        final Thread T1 = new Thread(new Runnable() {
            public void run() {
                try {
                    Thread.sleep(10);
                    System.out.println("this is  t1");
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        });
        final Thread T2 = new Thread(new Runnable() {
            public void run() {
                try {
                    T1.join();
                    Thread.sleep(10);
                    System.out.println("this is  t2");
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        });
        final Thread T3 = new Thread(new Runnable() {
            public void run() {
                try {
                    T2.join();
                    Thread.sleep(10);
                    System.out.println("this is  t3");
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        });

        T2.start();
        T3.start();
        T1.start();
    }

}

結(jié)果是:

this is  t1
this is  t2
this is  t3

參考文章:
http://www.cnblogs.com/skywang12345/p/3479243.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末从铲,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子澄暮,更是在濱河造成了極大的恐慌名段,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件泣懊,死亡現(xiàn)場離奇詭異伸辟,居然都是意外死亡,警方通過查閱死者的電腦和手機馍刮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門信夫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人卡啰,你說我怎么就攤上這事静稻。” “怎么了碎乃?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長惠奸。 經(jīng)常有香客問我梅誓,道長,這世上最難降的妖魔是什么佛南? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任梗掰,我火速辦了婚禮,結(jié)果婚禮上嗅回,老公的妹妹穿的比我還像新娘及穗。我一直安慰自己,他們只是感情好绵载,可當我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布埂陆。 她就那樣靜靜地躺著苛白,像睡著了一般。 火紅的嫁衣襯著肌膚如雪焚虱。 梳的紋絲不亂的頭發(fā)上购裙,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天,我揣著相機與錄音鹃栽,去河邊找鬼躏率。 笑死,一個胖子當著我的面吹牛民鼓,可吹牛的內(nèi)容都是我干的薇芝。 我是一名探鬼主播,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼丰嘉,長吁一口氣:“原來是場噩夢啊……” “哼夯到!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起供嚎,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤黄娘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后克滴,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體逼争,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年劝赔,在試婚紗的時候發(fā)現(xiàn)自己被綠了誓焦。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡着帽,死狀恐怖杂伟,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情仍翰,我是刑警寧澤赫粥,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站予借,受9級特大地震影響越平,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜灵迫,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一秦叛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧瀑粥,春花似錦挣跋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽舟肉。三九已至,卻和暖如春牌借,著一層夾襖步出監(jiān)牢的瞬間度气,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工膨报, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留磷籍,地道東北人。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓现柠,卻偏偏與公主長得像院领,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子够吩,可洞房花燭夜當晚...
    茶點故事閱讀 43,440評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 該文章轉(zhuǎn)自:http://blog.csdn.net/evankaka/article/details/44153...
    加來依藍閱讀 7,336評論 3 87
  • Java多線程學習 [-] 一擴展javalangThread類 二實現(xiàn)javalangRunnable接口 三T...
    影馳閱讀 2,952評論 1 18
  • 本文主要講了java中多線程的使用方法比然、線程同步、線程數(shù)據(jù)傳遞周循、線程狀態(tài)及相應的一些線程函數(shù)用法强法、概述等。 首先講...
    李欣陽閱讀 2,442評論 1 15
  • 1 多線程--初步 【 1進程 進程就是在系統(tǒng)中正在運行的程序 比如:QQ湾笛、迅雷饮怯、360、飛秋... 注意:操...
    征程_Journey閱讀 844評論 0 0
  • 先來說說我那個男神。 那時我還在高中 第一次見他的時候是在高二運動會 我是一個不喜熱鬧的人 于是拉著好友躲到校內(nèi)一...
    青木生歡閱讀 343評論 0 1