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
820
Virtual Thread - 導入の背景と、効果的な使い方 -
2023.01.21 ブリ会議 発表資料
Yuichi.Sakuraba
January 21, 2023
Tweet
Share
More Decks by Yuichi.Sakuraba
See All by Yuichi.Sakuraba
Java 25に至る道
skrb
3
240
Lazy Constant - finalフィールドの遅延初期化
skrb
0
2.3k
Language Update: Java
skrb
2
410
Java 30周年記念! Javaの30年をふりかえる
skrb
4
3.5k
JavaにおけるNull非許容性
skrb
2
3.8k
あなたはJVMの気持ちを理解できるか?
skrb
6
30k
で、ValhallaのValue Classってどうなったの?
skrb
2
14k
Javaにおける関数型プログラミンへの取り組み
skrb
7
670
今こそ、ラムダ式を考える - なぜあなたはラムダ式を苦手と感じるのか
skrb
6
26k
Other Decks in Technology
See All in Technology
22nd ACRi Webinar - NTT Kawahara-san's slide
nao_sumikawa
0
110
AIエージェントを開発しよう!-AgentCore活用の勘所-
yukiogawa
0
190
AIが実装する時代、人間は仕様と検証を設計する
gotalab555
1
600
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
480
Bedrock PolicyでAmazon Bedrock Guardrails利用を強制してみた
yuu551
0
260
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
340
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
170
Exadata Fleet Update
oracle4engineer
PRO
0
1.1k
プロポーザルに込める段取り八分
shoheimitani
1
670
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
2.1k
Cosmos World Foundation Model Platform for Physical AI
takmin
0
980
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
680
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
470
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
220
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
450
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
230
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
72
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); } ...
• • • • • • • •
• • • • •
• • • •
• • • •
• • • • • • •
• • • • • • •
- -