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
700
Virtual Thread - 導入の背景と、効果的な使い方 -
2023.01.21 ブリ会議 発表資料
Yuichi.Sakuraba
January 21, 2023
Tweet
Share
More Decks by Yuichi.Sakuraba
See All by Yuichi.Sakuraba
Javaにおける関数型プログラミンへの取り組み
skrb
7
340
今こそ、ラムダ式を考える - なぜあなたはラムダ式を苦手と感じるのか
skrb
6
19k
今こそ、ラムダ式を考える - ラムダ式はどうやって動くのか
skrb
7
10k
Project Amberで変わる Javaのプログラミングスタイル
skrb
3
860
String Templateによる文字列補間
skrb
4
3.1k
Virtual Threadの動作と効果的な使い方
skrb
2
530
JVMLSに参加してきた
skrb
1
1.9k
Who's Who in Java
skrb
3
19k
Javaの並列/並行処理の基本
skrb
9
3.4k
Other Decks in Technology
See All in Technology
SQLによるオブザーバビリティの進化とClickHouseの実力
mikimatsumoto
0
150
【shownet.conf_】多様化するネットワーク環境を柔軟に統合するルーティングテクノロジー
shownet
PRO
0
270
FastAPIでのasync defとdefの使い分け
takashi1029
6
1.8k
【shownet.conf_】クロージングセッション
shownet
PRO
0
210
Causal Impactを用いたLINE Pay UIの効果検証とABテスト実施への貢献
lycorptech_jp
PRO
2
460
スモールスタート、不都合な真実 〜 耳当たりの良い言葉に現場が振り回されないために/20240930-ssmjp-small-start
opelab
12
1.7k
VS CodeでF1〜12キーつかってますか? / Do you use the F1-12 keys in VS Code?
74th
1
250
トークナイザー入門
payanotty
2
270
Hazard pointers with reference counter
ennael
PRO
0
100
DenoでもViteしたい!インポートパスのエイリアスを指定してラクラクアプリ開発
bengo4com
0
1.7k
Oracle GoldenGate 23ai 導入Tips
oracle4engineer
PRO
1
200
【shownet.conf_】コンピューティング資源を統合した分散コンテナ基盤の進化
shownet
PRO
0
290
Featured
See All Featured
Code Review Best Practice
trishagee
62
16k
Fashionably flexible responsive web design (full day workshop)
malarkey
402
65k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
32k
A better future with KSS
kneath
235
17k
Building a Modern Day E-commerce SEO Strategy
aleyda
37
6.8k
BBQ
matthewcrist
83
9.2k
Infographics Made Easy
chrislema
239
18k
Side Projects
sachag
452
42k
[RailsConf 2023] Rails as a piece of cake
palkan
49
4.7k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
3
87
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
1
230
Designing for Performance
lara
604
68k
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); } ...
• • • • • • • •
• • • • •
• • • •
• • • •
• • • • • • •
• • • • • • •
- -