国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

Java多線(xiàn)程基礎(chǔ)(九)——Thread-Per-Message模式

Forest10 / 3217人閱讀

摘要:一定義模式是指每個(gè)一個(gè)線(xiàn)程,可以理解成消息命令或者請(qǐng)求。類(lèi)定義類(lèi)定義執(zhí)行三模式講解模式的角色如下委托人參與者參與者會(huì)對(duì)參與者送出請(qǐng)求。參與者參與者接受來(lái)自的請(qǐng)求,然后建立新的線(xiàn)程處理它。幫助者參與者實(shí)際處理請(qǐng)求的。

一、定義

Thread-Per-Message模式是指每個(gè)message一個(gè)線(xiàn)程,message可以理解成“消息”、“命令”或者“請(qǐng)求”。每一個(gè)message都會(huì)分配一個(gè)線(xiàn)程,由這個(gè)線(xiàn)程執(zhí)行工作,使用Thread-Per-Message Pattern時(shí),“委托消息的一端”與“執(zhí)行消息的一端”回會(huì)是不同的線(xiàn)程。

二、模式案例

該案例中,由Host分發(fā)請(qǐng)求,每一個(gè)請(qǐng)求分發(fā)一個(gè)新的線(xiàn)程進(jìn)行處理。

Host類(lèi)定義:

public class Host {
    private final Helper helper = new Helper();
    public void request(final int count, final char c) {
        System.out.println("    request(" + count + ", " + c + ") BEGIN");
        new Thread() {
            public void run() {
                helper.handle(count, c);
            }
        }.start();
        System.out.println("    request(" + count + ", " + c + ") END");
    }
}

Helper類(lèi)定義:

public class Helper {
    public void handle(int count, char c) {
        System.out.println("        handle(" + count + ", " + c + ") BEGIN");
        for (int i = 0; i < count; i++) {
            slowly();
            System.out.print(c);
        }
        System.out.println("");
        System.out.println("        handle(" + count + ", " + c + ") END");
    }
    private void slowly() {
        try {
            Thread.sleep(100);
        } catch (InterruptedException e) {
        }
    }
}

執(zhí)行:

public class Main {
    public static void main(String[] args) {
        System.out.println("main BEGIN");
        Host host = new Host();
        host.request(10, "A");
        host.request(20, "B");
        host.request(30, "C");
        System.out.println("main END");
    }
}
三、模式講解

Thread-Per-Message模式的角色如下:

Client(委托人)參與者

Client參與者會(huì)對(duì)Host參與者送出請(qǐng)求(Request)。上述案例中,Client參與者就是Main類(lèi)。

Host參與者

Host參與者接受來(lái)自Client的請(qǐng)求,然后建立新的線(xiàn)程處理它。

Helper(幫助者)參與者

Helper實(shí)際處理請(qǐng)求的。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/71512.html

相關(guān)文章

  • Java線(xiàn)程基礎(chǔ)(十)——Work Thread模式

    摘要:通道參與者參與者保存請(qǐng)求隊(duì)列,同時(shí)會(huì)預(yù)創(chuàng)建線(xiàn)程。注啟動(dòng)線(xiàn)程是一項(xiàng)繁重的工作,模式預(yù)先創(chuàng)建一批線(xiàn)程,可以重復(fù)使用線(xiàn)程,達(dá)到資源再利用提升性能的目的。 一、定義 Work Thread模式和Thread-Per-Message模式類(lèi)似,Thread-Per-Message每次都創(chuàng)建一個(gè)新的線(xiàn)程處理請(qǐng)求,而Work Thread模式預(yù)先會(huì)創(chuàng)建一個(gè)線(xiàn)程池(Thread Pool),每次從線(xiàn)程...

    xuweijian 評(píng)論0 收藏0
  • Java線(xiàn)程基礎(chǔ)(十一)——Future模式

    摘要:一定義模式用來(lái)獲取線(xiàn)程的執(zhí)行結(jié)果。案例中的類(lèi)就是參與者參與者接受請(qǐng)求,然后創(chuàng)建線(xiàn)程進(jìn)行異步處理。參與者會(huì)立即返回以的形式。虛擬數(shù)據(jù)參與者是用來(lái)統(tǒng)一代表參與者與參與者。 一、定義 Future模式用來(lái)獲取線(xiàn)程的執(zhí)行結(jié)果。在Thread-Per-Message模式中,如果調(diào)用一個(gè)線(xiàn)程異步執(zhí)行任務(wù),沒(méi)有辦法獲取到返回值,就像:host.request(10,A);而Future模式送出請(qǐng)求后...

    tinyq 評(píng)論0 收藏0
  • Java學(xué)習(xí)路線(xiàn)總結(jié),搬磚工逆襲Java架構(gòu)師(全網(wǎng)最強(qiáng))

    摘要:哪吒社區(qū)技能樹(shù)打卡打卡貼函數(shù)式接口簡(jiǎn)介領(lǐng)域優(yōu)質(zhì)創(chuàng)作者哪吒公眾號(hào)作者架構(gòu)師奮斗者掃描主頁(yè)左側(cè)二維碼,加入群聊,一起學(xué)習(xí)一起進(jìn)步歡迎點(diǎn)贊收藏留言前情提要無(wú)意間聽(tīng)到領(lǐng)導(dǎo)們的談話(huà),現(xiàn)在公司的現(xiàn)狀是碼農(nóng)太多,但能獨(dú)立帶隊(duì)的人太少,簡(jiǎn)而言之,不缺干 ? 哪吒社區(qū)Java技能樹(shù)打卡?【打卡貼 day2...

    Scorpion 評(píng)論0 收藏0
  • ()java線(xiàn)程之CyclicBarrier

    摘要:因?yàn)樵撛卺尫诺却€(xiàn)程后可以重用,所以稱(chēng)它為循環(huán)的。若在繼續(xù)所有參與線(xiàn)程之前更新共享狀態(tài),此屏障操作很有用。返回要求啟動(dòng)此的參與者數(shù)目。查詢(xún)此屏障是否處于損壞狀態(tài)。將屏障重置為其初始狀態(tài)。 本人郵箱: 歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明網(wǎng)址 http://blog.csdn.net/tianshi_kcogithub: https://github.com/kco1989/kco代碼已經(jīng)全部托管git...

    lingdududu 評(píng)論0 收藏0
  • 一名3年工作經(jīng)驗(yàn)的java程序員應(yīng)該具備的職業(yè)技能

    摘要:一名年工作經(jīng)驗(yàn)的程序員應(yīng)該具備的技能,這可能是程序員們比較關(guān)心的內(nèi)容。數(shù)據(jù)結(jié)構(gòu)和算法分析數(shù)據(jù)結(jié)構(gòu)和算法分析,對(duì)于一名程序員來(lái)說(shuō),會(huì)比不會(huì)好而且在工作中能派上用場(chǎng)。 一名3年工作經(jīng)驗(yàn)的Java程序員應(yīng)該具備的技能,這可能是Java程序員們比較關(guān)心的內(nèi)容。我這里要說(shuō)明一下,以下列舉的內(nèi)容不是都要會(huì)的東西—-但是如果你掌握得越多,最終能得到的評(píng)價(jià)、拿到的薪水勢(shì)必也越高。 1、基本語(yǔ)法 這包括...

    renweihub 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<