Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Virtual Thread - 導入の背景と、効果的な使い方 -
Yuichi.Sakuraba
January 21, 2023
Technology
3
250
Virtual Thread - 導入の背景と、効果的な使い方 -
2023.01.21 ブリ会議 発表資料
Yuichi.Sakuraba
January 21, 2023
Tweet
Share
More Decks by Yuichi.Sakuraba
See All by Yuichi.Sakuraba
モダンなJavaの書き方
skrb
1
2.1k
Other Decks in Technology
See All in Technology
CEXやDEXに依存しないブロックチェーン取引について考える
sbtechnight
0
310
証明書って何だっけ? 〜AWSの中間CA移行に備える〜
minorun365
3
2k
目指せCoverage100%! AutoScale環境におけるSavings Plans購入戦略 / JAWS-UG_SRE_Coverage
taishin
0
280
OpenShiftでスポットVMを使おう.pdf
jpishikawa
1
150
NGINXENG JP#2 - 3-NGINX Plus・プロダクトのアップデート
hiropo20
0
160
データエンジニアを助けてくれるFivetranとSnowflakeの仕様&機能のご紹介
sagara
0
430
lt53
98_justdoit
0
110
Oktaの管理者権限を適切に移譲してみた
shimosyan
2
240
RDS/Aurora バージョンアップのポイント
hmatsu47
PRO
8
1.6k
エアドロップ for オープンソースプロジェクト
epicsdao
0
210
DNS権威サーバのクラウドサービス向けに行われた攻撃および対策 / DNS Pseudo-Random Subdomain Attack and mitigations
kazeburo
5
990
日経電子版だけじゃない! 日経の新規Webメディアの開発 - NIKKEI Tech Talk #3
sztm
0
110
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
451
31k
Reflections from 52 weeks, 52 projects
jeffersonlam
338
18k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
351
21k
Side Projects
sachag
451
37k
How New CSS Is Changing Everything About Graphic Design on the Web
jensimmons
214
12k
Gamification - CAS2011
davidbonilla
75
4.1k
Designing Experiences People Love
moore
130
22k
Raft: Consensus for Rubyists
vanstee
130
5.7k
No one is an island. Learnings from fostering a developers community.
thoeni
12
1.5k
Streamline your AJAX requests with AmplifyJS and jQuery
dougneiner
128
8.8k
Navigating Team Friction
lara
176
12k
Typedesign – Prime Four
hannesfritz
34
1.5k
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); } ...
• • • • • • • •
• • • • •
• • • •
• • • •
• • • • • • •
• • • • • • •
- -