アカウント名:
パスワード:
大昔(バージョン1.5)にスレッドプールが導入され、「ネイティブスレッドの都度生成は止めて使いまわしましょう。Threadではなくタスク(Runnable)を使いましょう。」で並行処理は組まれているでしょう。なぜ今更仮想スレッドが必要になるのでしょうか?
JEP425によると、従来の方法では待機処理に対して効率が悪いと指摘しています。Javaでは待機処理はネイティブスレッドそのものを止めてしまい、待っている間に他のタスクを実行することはありません。そのため、待機処理が1秒あるタスクを従来のスレッド200個で処理する場合は待機処理の制約により最大200件/秒の処理速
本質的に ExecutorService と変わらんだろ、と言いたいのはわかるけど。現行の仕様だと実行中にIO入ったら切り変えていい、とはならないのでは。多分裏ではIOの所で io_uring とかを使う想定で、async/await 構文を導入する布石なんじゃないかな。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ソースを見ろ -- ある4桁UID
記事の内容だけだと、スレッドプールでいいやん (スコア:0)
大昔(バージョン1.5)にスレッドプールが導入され、
「ネイティブスレッドの都度生成は止めて使いまわしましょう。Threadではなくタスク(Runnable)を使いましょう。」
で並行処理は組まれているでしょう。なぜ今更仮想スレッドが必要になるのでしょうか?
JEP425によると、従来の方法では待機処理に対して効率が悪いと指摘しています。
Javaでは待機処理はネイティブスレッドそのものを止めてしまい、待っている間に他のタスクを実行することはありません。
そのため、待機処理が1秒あるタスクを従来のスレッド200個で処理する場合は待機処理の制約により最大200件/秒の処理速
Re:記事の内容だけだと、スレッドプールでいいやん (スコア:0)
本質的に ExecutorService と変わらんだろ、と言いたいのはわかるけど。
現行の仕様だと実行中にIO入ったら切り変えていい、とはならないのでは。
多分裏ではIOの所で io_uring とかを使う想定で、async/await 構文を導入する布石なんじゃないかな。