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
790
Virtual Thread - 導入の背景と、効果的な使い方 -
2023.01.21 ブリ会議 発表資料
Yuichi.Sakuraba
January 21, 2023
Tweet
Share
More Decks by Yuichi.Sakuraba
See All by Yuichi.Sakuraba
Language Update: Java
skrb
2
290
Java 30周年記念! Javaの30年をふりかえる
skrb
4
3.3k
JavaにおけるNull非許容性
skrb
2
3.5k
あなたはJVMの気持ちを理解できるか?
skrb
5
23k
で、ValhallaのValue Classってどうなったの?
skrb
2
12k
Javaにおける関数型プログラミンへの取り組み
skrb
7
580
今こそ、ラムダ式を考える - なぜあなたはラムダ式を苦手と感じるのか
skrb
6
24k
今こそ、ラムダ式を考える - ラムダ式はどうやって動くのか
skrb
7
11k
Project Amberで変わる Javaのプログラミングスタイル
skrb
3
1.2k
Other Decks in Technology
See All in Technology
allow_retry と Arel.sql / allow_retry and Arel.sql
euglena1215
1
160
エラーとアクセシビリティ
schktjm
1
1.2k
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
1k
Obsidian応用活用術
onikun94
1
470
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
3
380
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
160
テストを軸にした生き残り術
kworkdev
PRO
0
190
S3アクセス制御の設計ポイント
tommy0124
3
190
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
11
4.6k
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
290
ガチな登山用デバイスからこんにちは
halka
1
240
JTCにおける内製×スクラム開発への挑戦〜内製化率95%達成の舞台裏/JTC's challenge of in-house development with Scrum
aeonpeople
0
200
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
920
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Why Our Code Smells
bkeepers
PRO
339
57k
For a Future-Friendly Web
brad_frost
180
9.9k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Statistics for Hackers
jakevdp
799
220k
Side Projects
sachag
455
43k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Producing Creativity
orderedlist
PRO
347
40k
Designing for Performance
lara
610
69k
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); } ...
• • • • • • • •
• • • • •
• • • •
• • • •
• • • • • • •
• • • • • • •
- -