宅男在线永久免费观看网直播,亚洲欧洲日产国码无码久久99,野花社区在线观看视频,亚洲人交乣女bbw,一本一本久久a久久精品综合不卡

全部
常見(jiàn)問(wèn)題
產(chǎn)品動(dòng)態(tài)
精選推薦

Java 21 新特性:虛擬線(xiàn)程(Virtual Threads)

管理 管理 編輯 刪除

在Java 21中,引入了虛擬線(xiàn)程(Virtual Threads)來(lái)簡(jiǎn)化和增強(qiáng)并發(fā)性,這使得在Java中編程并發(fā)程序更容易、更高效。

虛擬線(xiàn)程,也稱(chēng)為“用戶(hù)模式線(xiàn)程(user-mode threads)”或“纖程(fibers)”。該功能旨在簡(jiǎn)化并發(fā)編程并提供更好的可擴(kuò)展性。虛擬線(xiàn)程是輕量級(jí)的,這意味著它們可以比傳統(tǒng)線(xiàn)程創(chuàng)建更多數(shù)量,并且開(kāi)銷(xiāo)要少得多。這使得在自己的線(xiàn)程中運(yùn)行單獨(dú)任務(wù)或請(qǐng)求變得更加實(shí)用,即使在高吞吐量的程序中也是如此。

#創(chuàng)建和使用虛擬線(xiàn)程

在Java 21中創(chuàng)建和使用虛擬線(xiàn)程有多種方法:

#1. 使用靜態(tài)構(gòu)建器方法

Thread.startVirtualThread方法將可運(yùn)行對(duì)象作為參數(shù)來(lái)創(chuàng)建,并立即啟動(dòng)虛擬線(xiàn)程,具體如下代碼:


Runnable runnable = () -> {
    System.out.println("Hello, www.didispace.com");
};

// 使用靜態(tài)構(gòu)建器方法
Thread virtualThread = Thread.startVirtualThread(runnable);







也可以使用Thread.ofVirtual()來(lái)創(chuàng)建,這里還可以設(shè)置一些屬性,比如:線(xiàn)程名稱(chēng)。具體如下代碼:


Thread.ofVirtual()
        .name("didispace-virtual-thread")
        .start(runnable);




#2. 與ExecutorService結(jié)合使用

從Java 5開(kāi)始,就推薦開(kāi)發(fā)人員使用ExecutorServices而不是直接使用Thread類(lèi)了?,F(xiàn)在,Java 21中引入了使用虛擬線(xiàn)程,所以也有了新的ExecutorService來(lái)適配,看看下面的例子:


Runnable runnable = () -> {
    System.out.println("Hello, www.didispace.com");
};

try (ExecutorService executorService = Executors.newVirtualThreadPerTaskExecutor()) {
    for (int i = 0; i < 100; i++) {
        executorService.submit(runnable);
    }
}










上述代碼在try代碼塊中創(chuàng)建了一個(gè)ExecutorServices,用來(lái)為每個(gè)提交的任務(wù)創(chuàng)建虛擬線(xiàn)程。

#3. 使用虛擬線(xiàn)程工廠

開(kāi)發(fā)者還可以創(chuàng)建一個(gè)生成虛擬線(xiàn)程的工廠來(lái)管理,具體看下面的例子例子:


Runnable runnable = () -> {
    System.out.println("Hello, www.didispace.com");
};

ThreadFactory virtualThreadFactory = Thread.ofVirtual()
        .name("didispace", 0)
        .factory();

Thread factoryThread = virtualThreadFactory.newThread(runnable);
factoryThread.start();











這段代碼創(chuàng)建了一個(gè)虛擬線(xiàn)程工廠,每個(gè)虛擬線(xiàn)程都會(huì)以didispace為前綴、以數(shù)字結(jié)尾(從0開(kāi)始累加)的名稱(chēng)。

#小結(jié)

上面我們介紹了虛擬線(xiàn)程的創(chuàng)建和使用,而我們大多數(shù)Java開(kāi)發(fā)者都基于Spring來(lái)開(kāi)發(fā)具體業(yè)務(wù)應(yīng)用,所以很多場(chǎng)景下可能都不太涉及手工創(chuàng)建的操作。所以,對(duì)于虛擬線(xiàn)程的概念,你只需要有一個(gè)基本的認(rèn)識(shí)。所以,在文章的最后,做一個(gè)小結(jié),以方便大家理解和記憶:

  • 虛擬線(xiàn)程是由JVM管理的輕量級(jí)線(xiàn)程。
  • 虛擬線(xiàn)程不需要任何顯式分配或調(diào)度。
  • 虛擬線(xiàn)程非常適合I/O密集型任務(wù)或需要大量并行性的任務(wù)。
  • 虛擬線(xiàn)程也可以用來(lái)實(shí)現(xiàn)異步操作。

另外,值得注意的是,雖然虛擬線(xiàn)程可以在并發(fā)性和可擴(kuò)展性方面提供顯著的幫助,但它們并不總是適合所有場(chǎng)景。有些需要大量計(jì)算的任務(wù),并不一定在虛擬線(xiàn)程中運(yùn)行更好,因?yàn)樘摂M線(xiàn)程也有上下文切換的開(kāi)。具體情況還是需要通過(guò)測(cè)試評(píng)測(cè),以找到最優(yōu)解。


請(qǐng)登錄后查看

Desire- 最后編輯于2024-12-17 16:08:59

快捷回復(fù)
回復(fù)
回復(fù)
回復(fù)({{post_count}}) {{!is_user ? '我的回復(fù)' :'全部回復(fù)'}}
排序 默認(rèn)正序 回復(fù)倒序 點(diǎn)贊倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level || item.bbs_level }}

作者 管理員 企業(yè)

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推薦': '推薦'}}
{{item.is_suggest == 1? '取消推薦': '推薦'}}
沙發(fā) 板凳 地板 {{item.floor}}#
{{item.user_info.title || '暫無(wú)簡(jiǎn)介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
打賞
已打賞¥{{item.reward_price}}
{{item.like_count}}
{{item.showReply ? '取消回復(fù)' : '回復(fù)'}}
刪除
回復(fù)
回復(fù)

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回復(fù) {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
打賞
已打賞¥{{itemc.reward_price}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回復(fù)' : '回復(fù)'}}
刪除
回復(fù)
回復(fù)
查看更多
打賞
已打賞¥{{reward_price}}
997
{{like_count}}
{{collect_count}}
添加回復(fù) ({{post_count}})

相關(guān)推薦

快速安全登錄

使用微信掃碼登錄
{{item.label}} 加精
{{item.label}} {{item.label}} 板塊推薦 常見(jiàn)問(wèn)題 產(chǎn)品動(dòng)態(tài) 精選推薦 首頁(yè)頭條 首頁(yè)動(dòng)態(tài) 首頁(yè)推薦
取 消 確 定
回復(fù)
回復(fù)
問(wèn)題:
問(wèn)題自動(dòng)獲取的帖子內(nèi)容,不準(zhǔn)確時(shí)需要手動(dòng)修改. [獲取答案]
答案:
提交
bug 需求 取 消 確 定
打賞金額
當(dāng)前余額:¥{{rewardUserInfo.reward_price}}
{{item.price}}元
請(qǐng)輸入 0.1-{{reward_max_price}} 范圍內(nèi)的數(shù)值
打賞成功
¥{{price}}
完成 確認(rèn)打賞

微信登錄/注冊(cè)

切換手機(jī)號(hào)登錄

{{ bind_phone ? '綁定手機(jī)' : '手機(jī)登錄'}}

{{codeText}}
切換微信登錄/注冊(cè)
暫不綁定
CRMEB客服

CRMEB咨詢(xún)熱線(xiàn) 咨詢(xún)熱線(xiàn)

400-8888-794

微信掃碼咨詢(xún)

CRMEB開(kāi)源商城下載 源碼下載 CRMEB幫助文檔 幫助文檔
返回頂部 返回頂部
CRMEB客服