Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Virtual Thread - 導入の背景と、効果的な使い方 -
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yuichi.Sakuraba
January 21, 2023
Technology
870
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Virtual Thread - 導入の背景と、効果的な使い方 -
2023.01.21 ブリ会議 発表資料
Yuichi.Sakuraba
January 21, 2023
More Decks by Yuichi.Sakuraba
See All by Yuichi.Sakuraba
Inside Stream API
skrb
1
960
Java 25に至る道
skrb
3
320
Lazy Constant - finalフィールドの遅延初期化
skrb
0
5.1k
Language Update: Java
skrb
2
530
Java 30周年記念! Javaの30年をふりかえる
skrb
4
4.1k
JavaにおけるNull非許容性
skrb
2
4k
あなたはJVMの気持ちを理解できるか?
skrb
6
35k
で、ValhallaのValue Classってどうなったの?
skrb
2
16k
Javaにおける関数型プログラミンへの取り組み
skrb
7
760
Other Decks in Technology
See All in Technology
目の前の楽しいが人生を変える - コミュニティの螺旋の歩き方と楽しむコツ / change your life
soudai
PRO
2
130
#jawssonic2026 あの時代が悪かった ~動かなかったSageMakerと共に迎えたイベント当日~
ktkn1129
0
140
Snowflakeのコスト最適化を支えるアーキテクチャ設計
ktatsuya
0
820
Kiro Crewしか勝たん!?
miu_crescent
PRO
0
190
AI時代だからこそ、スケールしないことをやろう
yutashigemura
1
110
GoにおけるFFIのこれまでとこれから
goccy
4
1.1k
Podは生きているのにGoだけが落ちる:GOGCとGOMEMLIMITで追うInvisible OOM Killの謎
tkc66buzz
0
190
2026-09-10 【Snowflake World Tour Tokyo 2026】dbt Core と Snowflake で実現する多層的なデータガバナンス / Multi-Layered Data Governance Powered by dbt Core and Snowflake
civitaspo
0
230
スクラムで身についていた動き方を、XPで捉え直してみた
codmoninc
PRO
1
310
AIとペアプロを始める。人とのペアプロをやめる。ペアプロの良さを改めて知る。もっと好きになった。 / Rediscovering Pair Programming
honyanya
1
290
AIで実装は速くなった。なのにプロダクトは速くならない。職能の壁を越えて価値のフローを設計する
nwiizo
7
7.5k
多摩川(.dev)ランニング入門 / Tamagawa.dev#3
fujiwara3
3
410
Featured
See All Featured
Navigating Weather and Climate Data
rabernat
0
510
Automating Front-end Workflow
addyosmani
1369
210k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
490
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
Thoughts on Productivity
jonyablonski
76
5.4k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
530
The Invisible Side of Design
smashingmag
301
52k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
490
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
320
Transcript
- -
• • • • • •
• • • •
• • • →
None
• • • → •
• • • • •
public class ThreadPoolExecutor extends AbstractExecutorService { ... private final class
Worker extends AbstractQueuedSynchronizer implements Runnable { Worker(Runnable firstTask) { setState(-1); this.firstTask = firstTask; this.thread = getThreadFactory().newThread(this); } ...
• • •
• • • • • • •
• • •
• • • • • • •
None
None
None
None
None
int blockingRead(byte[] b, int off, int len, long nanos) throws
IOException { ... // read, no timeout configureSocketNonBlockingIfVirtualThread(); n = tryRead(b, off, len); while (IOStatus.okayToRetry(n) && isOpen()) { park(Net.POLLIN); n = tryRead(b, off, len); } ...
• • • • • • • •
• • • • •
• • • •
• • • •
• • • • • • •
• • • • • • •
- -