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
760
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
2.9k
あなたはJVMの気持ちを理解できるか?
skrb
5
5.3k
で、ValhallaのValue Classってどうなったの?
skrb
2
9.3k
Javaにおける関数型プログラミンへの取り組み
skrb
7
500
今こそ、ラムダ式を考える - なぜあなたはラムダ式を苦手と感じるのか
skrb
6
22k
今こそ、ラムダ式を考える - ラムダ式はどうやって動くのか
skrb
7
11k
Project Amberで変わる Javaのプログラミングスタイル
skrb
3
1k
String Templateによる文字列補間
skrb
4
3.9k
Virtual Threadの動作と効果的な使い方
skrb
2
610
Other Decks in Technology
See All in Technology
数百台のオンプレミスのサーバーをEKSに移行した話
yukiteraoka
0
680
Dapr For Java Developers SouJava 25
salaboy
1
130
職種に名前が付く、ということ/The fact that a job title has a name
bitkey
1
240
Proxmox VE超入門 〜 無料で作れるご自宅仮想化プラットフォームブックマークする
devops_vtj
0
120
React Server Componentは 何を解決し何を解決しないのか / What do React Server Components solve, and what do they not solve?
kaminashi
6
1.2k
非エンジニアにも伝えるメールセキュリティ / Email security for non-engineers
ykanoh
13
3.9k
17年のQA経験が導いたスクラムマスターへの道 / 17 Years in QA to Scrum Master
toma_sm
0
400
BCMathを高速化した一部始終をC言語でガチ目に解説する / BCMath performance improvement explanation
sakitakamachi
2
1.2k
モジュラーモノリスでスケーラブルなシステムを作る - BASE のリアーキテクチャのいま
panda_program
7
2k
caching_sha2_passwordのはなし
boro1234
0
220
Restarting_SRE_Road_to_SRENext_.pdf
_awache
0
160
技術好きなエンジニアが _リーダーへの進化_ によって得たものと失ったもの / The Gains and Losses of a Tech-Enthusiast Engineer’s “Evolution into Leadership”
kaminashi
0
200
Featured
See All Featured
Six Lessons from altMBA
skipperchong
27
3.7k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Embracing the Ebb and Flow
colly
85
4.6k
Music & Morning Musume
bryan
46
6.4k
Building Adaptive Systems
keathley
41
2.5k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Product Roadmaps are Hard
iamctodd
PRO
52
11k
The Invisible Side of Design
smashingmag
299
50k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
30k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
28
1.6k
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); } ...
• • • • • • • •
• • • • •
• • • •
• • • •
• • • • • • •
• • • • • • •
- -