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
4
770
Virtual Thread - 導入の背景と、効果的な使い方 -
2023.01.21 ブリ会議 発表資料
Yuichi.Sakuraba
January 21, 2023
Tweet
Share
More Decks by Yuichi.Sakuraba
See All by Yuichi.Sakuraba
JavaにおけるNull非許容性
skrb
2
3.2k
あなたはJVMの気持ちを理解できるか?
skrb
5
12k
で、ValhallaのValue Classってどうなったの?
skrb
2
9.9k
Javaにおける関数型プログラミンへの取り組み
skrb
7
510
今こそ、ラムダ式を考える - なぜあなたはラムダ式を苦手と感じるのか
skrb
6
23k
今こそ、ラムダ式を考える - ラムダ式はどうやって動くのか
skrb
7
11k
Project Amberで変わる Javaのプログラミングスタイル
skrb
3
1.1k
String Templateによる文字列補間
skrb
4
4.2k
Virtual Threadの動作と効果的な使い方
skrb
2
620
Other Decks in Technology
See All in Technology
AI駆動で進化する開発プロセス ~クラスメソッドでの実践と成功事例~ / aidd-in-classmethod
tomoki10
1
1k
『ささAI』ネタづくりをささえるAI📝 (にぼしいわし担当:GIFTech2025)
masapyon1212
0
110
Why Platform Engineering? - マルチプロダクト・少人数 SRE の壁を越える挑戦 -
nulabinc
PRO
4
380
MCPを理解する
yudai00
14
10k
CARTA HOLDINGS エンジニア向け 採用ピッチ資料 / CARTA-GUIDE-for-Engineers
carta_engineering
0
27k
Next.jsと状態管理のプラクティス
uhyo
3
1.3k
地に足の付いた現実的な技術選定から魔力のある体験を得る『AIレシート読み取り機能』のケーススタディ / From Grounded Tech Choices to Magical UX: A Case Study of AI Receipt Scanning
moznion
2
520
試作とデモンストレーション / Prototyping and Demonstrations
ks91
PRO
0
110
LangfuseではじめるAIアプリのLLMトレーシング
codenote
0
140
250510 StepFunctionのテスト自動化始めました vol.1
east_takumi
1
210
Datadog のトライアルを成功に導く技術 / Techniques for a successful Datadog trial
nulabinc
PRO
0
130
Gateway H2 モジュールで スマートホーム入門
minoruinachi
0
140
Featured
See All Featured
Optimizing for Happiness
mojombo
378
70k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.8k
Documentation Writing (for coders)
carmenintech
71
4.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
For a Future-Friendly Web
brad_frost
177
9.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
YesSQL, Process and Tooling at Scale
rocio
172
14k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
790
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.7k
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); } ...
• • • • • • • •
• • • • •
• • • •
• • • •
• • • • • • •
• • • • • • •
- -