国产精品久久久久久无毒不卡,国产av午夜精品一区二区三区,国产成人精品日本亚洲专区61,成人爽a毛片免费啪啪,国产精品99精品久久免费

全國(guó)咨詢(xún)/投訴熱線(xiàn):400-618-4000

首頁(yè)技術(shù)文章正文

怎樣實(shí)現(xiàn)線(xiàn)程插隊(duì)?

更新時(shí)間:2022-03-04 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

現(xiàn)實(shí)生活中經(jīng)常能碰到“插隊(duì)”的情況,同樣,在Thread 類(lèi)中也提供了一個(gè)join()方法來(lái)實(shí)現(xiàn)這個(gè)“功能”。當(dāng)在某個(gè)線(xiàn)程中調(diào)用其他線(xiàn)程的join()方法時(shí),調(diào)用的線(xiàn)程將被阻塞,直到被join()方法加入的線(xiàn)程執(zhí)行完成后它才會(huì)繼續(xù)運(yùn)行。接下來(lái)通過(guò)一個(gè)案例來(lái)演示join()方法的使用,如下所示。

class EmergencyThread implements Runnable {
    public void run() {
        for (int i = 1; i < 6; i++) {
            System.out.println(Thread.currentThread().getName()
             + "輸入:”+i);
            }
        }
    }
    public class Examplel0 {
        public static void main(String[] args) throws InterruptedException {
            //創(chuàng)建線(xiàn)程
            Thread threadl = new Thread(new EmergencyThread(), "threadl");
            threadl.start(); //開(kāi)啟線(xiàn)程
            for (inc i = 1; i < 6; i++) {
                System.out.println(Thread.currentThread().getName() + ”輸入:” + i);
                    if (i == 2) {
                        threadl.join(); //調(diào)用join()方法
                    }
                }
            }
        }
運(yùn)行結(jié)果如圖所示。

例10-10中,在main線(xiàn)程中開(kāi)啟了一個(gè)線(xiàn)程thread1,這兩個(gè)線(xiàn)程會(huì)相互爭(zhēng)奪CPU使用權(quán)輸出語(yǔ)句。當(dāng)main線(xiàn)程中的循環(huán)變量為2時(shí),調(diào)用thread1線(xiàn)程的join()方法,這時(shí),thread1線(xiàn)程就會(huì)“插隊(duì)”優(yōu)先執(zhí)行,并且整個(gè)程序執(zhí)行完畢后才會(huì)執(zhí)行其他線(xiàn)程。從運(yùn)行結(jié)果可以看出,當(dāng)main線(xiàn)程輸出2以后,thread1線(xiàn)程就開(kāi)始執(zhí)行,直到執(zhí)行完畢,main線(xiàn)程才繼續(xù)執(zhí)行。

Thread類(lèi)中除了提供一個(gè)無(wú)參數(shù)的線(xiàn)程插隊(duì)join()方法外,還提供了帶有時(shí)間參數(shù)的線(xiàn)程插隊(duì)方法join(long millis)。當(dāng)執(zhí)行帶有時(shí)間參數(shù)的join(long millis)進(jìn)行線(xiàn)程插隊(duì)時(shí),必須等待插入的線(xiàn)程指定時(shí)間過(guò)后才會(huì)繼續(xù)執(zhí)行其他線(xiàn)程。






猜你喜歡:

如何保證多線(xiàn)程共享數(shù)據(jù)的安全?

怎樣保證多線(xiàn)程同時(shí)段只有一個(gè)線(xiàn)程被訪(fǎng)問(wèn)?

Java中如何創(chuàng)建線(xiàn)程?【Java面試題】

JavaSE線(xiàn)程池超全視頻教程[java培訓(xùn)]

黑馬程序員java工程師培訓(xùn)

分享到:
在線(xiàn)咨詢(xún) 我要報(bào)名
和我們?cè)诰€(xiàn)交談!