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
630
Virtual Thread - 導入の背景と、効果的な使い方 -
2023.01.21 ブリ会議 発表資料
Yuichi.Sakuraba
January 21, 2023
Tweet
Share
More Decks by Yuichi.Sakuraba
See All by Yuichi.Sakuraba
今こそ、ラムダ式を考える - なぜあなたはラムダ式を苦手と感じるのか
skrb
6
16k
今こそ、ラムダ式を考える - ラムダ式はどうやって動くのか
skrb
7
9.7k
Project Amberで変わる Javaのプログラミングスタイル
skrb
4
680
String Templateによる文字列補間
skrb
4
2.1k
Virtual Threadの動作と効果的な使い方
skrb
2
320
JVMLSに参加してきた
skrb
1
1.7k
Who's Who in Java
skrb
3
19k
Javaの並列/並行処理の基本
skrb
9
2.8k
Getting Started with Presentation
skrb
1
2.4k
Other Decks in Technology
See All in Technology
Delivering Millions of Messages within seconds @ Duolingo
pelelgrino
0
330
SPI原点回帰論:事業課題とFour Keysの結節点を見出す実践的ソフトウェアプロセス改善 / DevOpsDays Tokyo 2024
visional_engineering_and_design
4
1.5k
KubeCon EU 2024 Recap “Kubernetes Policy Time Machine: Where to Next?”
ryysud
0
110
「手動オペレーションに定評がある」と言われた私が心がけていること / phpcon_odawara2024
blue_goheimochi
2
320
マルチアカウント環境への発見的統制の導入
ch1aki
1
1.3k
Algyan イベント振り返り
linyixian
0
190
Data and AI Governance: Existing Challenges and Emerging Trends
scotthsieh825
0
150
転移学習とドメイン適応の基礎
kmatsui
2
570
o11y入門_外形監視を利用したWebアプリケーションへの最適なモニタリング_TechBrew
k5k
3
100
「共通基盤」を超えよ! 今、Platform Engineeringに取り組むべき理由
jacopen
25
5.9k
Reducing Cross-Zone Egress at Spotify with Custom gRPC Load Balancing Recap
koh_naga
0
120
Janus
bkuhlmann
1
490
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
6
990
Statistics for Hackers
jakevdp
789
220k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
273
13k
KATA
mclloyd
14
12k
GitHub's CSS Performance
jonrohan
1023
450k
Optimising Largest Contentful Paint
csswizardry
7
2.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
344
19k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
119
38k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
658
120k
The Pragmatic Product Professional
lauravandoore
24
5.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
A Philosophy of Restraint
colly
196
16k
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); } ...
• • • • • • • •
• • • • •
• • • •
• • • •
• • • • • • •
• • • • • • •
- -