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
720
Virtual Thread - 導入の背景と、効果的な使い方 -
2023.01.21 ブリ会議 発表資料
Yuichi.Sakuraba
January 21, 2023
Tweet
Share
More Decks by Yuichi.Sakuraba
See All by Yuichi.Sakuraba
で、ValhallaのValue Classってどうなったの?
skrb
2
7.4k
Javaにおける関数型プログラミンへの取り組み
skrb
7
390
今こそ、ラムダ式を考える - なぜあなたはラムダ式を苦手と感じるのか
skrb
6
20k
今こそ、ラムダ式を考える - ラムダ式はどうやって動くのか
skrb
7
11k
Project Amberで変わる Javaのプログラミングスタイル
skrb
3
940
String Templateによる文字列補間
skrb
4
3.4k
Virtual Threadの動作と効果的な使い方
skrb
2
570
JVMLSに参加してきた
skrb
1
2k
Who's Who in Java
skrb
3
20k
Other Decks in Technology
See All in Technology
DevFest 2024 Incheon / Songdo - Compose UI 조합 심화
wisemuji
0
140
事業貢献を考えるための技術改善の目標設計と改善実績 / Targeted design of technical improvements to consider business contribution and improvement performance
oomatomo
0
130
プロダクト開発を加速させるためのQA文化の築き方 / How to build QA culture to accelerate product development
mii3king
1
280
Fanstaの1年を大解剖! 一人SREはどこまでできるのか!?
syossan27
2
180
PHPerのための計算量入門/Complexity101 for PHPer
hanhan1978
5
270
Amazon Kendra GenAI Index 登場でどう変わる? 評価から学ぶ最適なRAG構成
naoki_0531
0
130
宇宙ベンチャーにおける最近の情シス取り組みについて
axelmizu
0
120
第3回Snowflake女子会_LT登壇資料(合成データ)_Taro_CCCMK
tarotaro0129
0
200
10分で学ぶKubernetesコンテナセキュリティ/10min-k8s-container-sec
mochizuki875
3
370
WACATE2024冬セッション資料(ユーザビリティ)
scarletplover
0
210
NilAway による静的解析で「10 億ドル」を節約する #kyotogo / Kyoto Go 56th
ytaka23
3
380
生成AIをより賢く エンジニアのための RAG入門 - Oracle AI Jam Session #20
kutsushitaneko
4
280
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
Mobile First: as difficult as doing things right
swwweet
222
9k
Designing Experiences People Love
moore
138
23k
The Cost Of JavaScript in 2023
addyosmani
46
7k
Done Done
chrislema
182
16k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
Making the Leap to Tech Lead
cromwellryan
133
9k
Bash Introduction
62gerente
609
210k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
170
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); } ...
• • • • • • • •
• • • • •
• • • •
• • • •
• • • • • • •
• • • • • • •
- -