タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

threadに関するHHRのブックマーク (6)

  • How can I get a parallel stream of Files.walk?

    HHR
    HHR 2021/11/17
    Files.walk(p).parallel().forEach(…)でfail数が1024未満だと並列にならない罠
  • さあ、並列プログラミングをはじめよう - Qiita

    この記事はJava Advent Calendar 2016の12日目です。 前日は、leak4mk0さんのデータベースを簡単にーJavaSEでもオブジェクト指向データベース(JPA) でした。 次は、tkxlabさんのJavaSEでもオブジェクト指向データベース(JPA)をとなります。 はじめに 「フリーランチの終焉」と言われマルチコアの時代に突入してはや数年。 Webアプリを作る事が多かったのも理由ですが、ほとんどシングルスレッド(サーブレッドとかでマルチスレッドを意識するケースはあるけど)で開発してた私にも、今年は並列プログラミングの波が押し寄せてきました。 そんなわけで今年のアドベントカレンダーは並列プログラミング入門に関してまとめてみます。 Java 8標準の並列API Javaは当初よりマルチスレッドプログラミングを喧伝してただけあって、それなりに並列プログラミングがやりやすい

    さあ、並列プログラミングをはじめよう - Qiita
    HHR
    HHR 2021/11/16
    Threadは忘れよう。ExecutorService,Fork/Join,CompletableFuture(Fork/Join上での実装),Stream APIのparallel(Fork/Join上での実装)
  • Java ExecutorService/Futureメモ(Hishidama's Java ExecutorService/Future Memo)

    概要 Javaでスレッドを扱うと言えばJDK1.4まではThreadクラス・Runnableインターフェースだったが、 JDK1.5でExecutorService・Callableインターフェース・Futureが導入された。 ExecutorServiceでは、同時に実行するスレッド数を指定することが出来る。 処理を登録(submit)しても、指定したスレッド数までしか同時に実行されない。 (実行可能なスレッド数に足りない場合、登録したスレッドは実行待ちになる。実行中のスレッドの処理が終わると、待機していたスレッドが実行される) Callableインターフェースは、ExecutorServiceで実行する処理を定義する為のインターフェース。 Runnableインターフェースは戻り値を指定することが出来ないし例外もRuntimeExceptionしかスローできないが、 Callableイン

    HHR
    HHR 2021/11/12
    ExecutorService。newWorkStealingPoolは記載なし
  • ExecutorService の復習 - Qiita

    Android で非同期処理っていうと、真っ先に AsyncTask が出てくるんですが、なるべくなら Java 標準のマルチスレッドAPI である ExecutorService を使った方が良いと思ってます。 (2007年の記事だけど) Java技術最前線 - 「Java SE 6完全攻略」第49回 Concurrency Utilitiesの変更点 その1:ITpro Android で初めて Java を書いたので細かい仕様がよく分からず、勉強がてら動きを確認してみました。 1. 1つのワーカスレッドに実行させる newSingleThreadExecutor でワーカスレッドを一つ持つ Executor を生成して、2つのタスク(=非同期で実行させる処理)を順に実行。 public void singleThreadExecutorBasicTest() throws Excep

    ExecutorService の復習 - Qiita
    HHR
    HHR 2021/11/12
    newSingleThreadExecutor,newFixedThreadPoolは記載が古いので忘れて良い(java8からnewWorkStealingPool一択)newSingleThreadScheduledExecutor=timer1スレッド newScheduledThreadPool=timerNスレッド scheduleAtFixedRate,scheduleWithFixedDelay=定期 >実行は参考になる
  • Java で簡単マルチスレッドプログラミング - にょきにょきブログ

    仕事でマルチスレッドを扱うようになったので備忘録として Executors 関連のメモを残しておく。 あるタスクを別スレッドで実行したい時、Executors クラスを使えば自前でスレッドの管理をすること無く簡単に並列処理を行えるようになる。 もちろん完全に簡単になったわけではなく、マルチスレッドプログラミングの困難さは健在だが、自前でスレッドの管理をしない分バグを仕込む可能性も減るだろう。 はじめに Executors はタスクと呼ばれる処理の最小単位を別スレッドで実行する仕組みである。マルチスレッドなのでシングルスレッドに比べると複雑性は若干上がるものの、通常のマルチスレッドプログラミングに比べれば少ない複雑性、高い安全性を備える。そして何より、パフォーマンスの向上が期待できる。 この仕組みはジョブキューモデルそのものである。ジョブはタスク、キューは後述する Executor に相当す

    Java で簡単マルチスレッドプログラミング - にょきにょきブログ
    HHR
    HHR 2021/11/12
    ExecutorService jsのPromise.all()っぽい。jsはシングルスレッドだから詳細は異なるがI/Fは似てる。Future.get()を呼ぶとタスク終了まで待ってその返り値を取得。古いので記載が無いがjava8からnewWorkStealingPool一択
  • Java並行・並列・非同期処理チートシート

    Java 1.5以降では Executorsフレームワーク 利用を優先検討のこと。 遅延実行(タイマー) クラス / メソッド 概要 Since

    Java並行・並列・非同期処理チートシート
    HHR
    HHR 2014/05/28
  • 1