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
Yuichi.Sakuraba
January 21, 2023
Technology
860
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
840
Java 25に至る道
skrb
3
310
Lazy Constant - finalフィールドの遅延初期化
skrb
0
4.3k
Language Update: Java
skrb
2
480
Java 30周年記念! Javaの30年をふりかえる
skrb
4
3.9k
JavaにおけるNull非許容性
skrb
2
4k
あなたはJVMの気持ちを理解できるか?
skrb
6
34k
で、ValhallaのValue Classってどうなったの?
skrb
2
16k
Javaにおける関数型プログラミンへの取り組み
skrb
7
730
Other Decks in Technology
See All in Technology
ZOZOTOWNの進化と信頼性を両立する負荷試験
zozotech
PRO
0
140
CIで使うClaude
iwatatomoya
0
160
LiDAR SLAMの実装とセンサ融合 ~Lie群からContinuous-Time LIOまで~
naokiakai
1
1k
クラウド上のデータ復旧で見落としがちな制約: 医療系 SaaS の BCP 設計から得た教訓
kakehashi
PRO
0
2.4k
金融の未来を考える / Thinking About the Future of Finance
ks91
PRO
0
180
環境凍結という Toil を倒す -セルフサービス型 Ephemeral テスト環境の 設計と実践
shirouz
1
1.5k
完全自律ロボットを作りたくて、先に開発を自律させた話(ROS Japan UG #63 LT)
rryz09
0
400
Road to SRE NEXTの今までとこれから
hiroyaonoe
0
210
AI Driven AI Governance
pict3
0
230
「ちゃんとやっている」は独りよがりだった ― 不安に寄り添うインシデント対応へ / Towards incident response that addresses anxieties
chmikata
1
3.6k
最適な自走を最小限の支援で — M&Aで拡大する組織で少人数SREが挑んだ1年 / SRE NEXT 2026
genda
0
240
Mastraエージェント、どのクラウドにデプロイする?
minorun365
PRO
2
170
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Exploring anti-patterns in Rails
aemeredith
3
440
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
260
Unsuck your backbone
ammeep
672
58k
The Spectacular Lies of Maps
axbom
PRO
1
850
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
180
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
230
Color Theory Basics | Prateek | Gurzu
gurzu
0
380
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Why Our Code Smells
bkeepers
PRO
340
58k
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); } ...
• • • • • • • •
• • • • •
• • • •
• • • •
• • • • • • •
• • • • • • •
- -