タグ

マルチスレッドに関するTrinityTのブックマーク (3)

  • Executorを使おう - かとじゅんの技術日誌

    Java5からスレッドプールが利用できるようになりました。 スレッド作成の欠点 これまでのスレッドは、ThreadクラスやRunnableクラスを組み合わせ使っていました。しかし、スレッドをただ単に使うだけだと以下のような欠点があります。 スレッドを生成から破棄までのライフサイクルで発生するコスト 一般的にはスレッド作成はOSやJVMに負荷が発生します。リクエストが頻繁で軽い場合は相当量のリソースを消費してしまいます。 リソースの消費 アクティブなスレッドはメモリを消費します。実行状態のスレッドが利用可能なCPUの数より多いとスレッドが停滞します。さらにアイドル状態のスレッドが多くなるとメモリ消費量が増えて、ガベージコレクタの負担が増大。多くのスレッドがCPUの時間を奪い合うレースコンディションになり性能も低下します。このようにCPUの数以上スレッドが存在しても意味がありません。 安定性が

    Executorを使おう - かとじゅんの技術日誌
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • PHPでマルチスレッド(バックグラウンド処理)を実現する方法 - EC studio 技術ブログ

    PHPで長時間かかる重い処理を行うとき、 マルチスレッドで動かせたらなぁ!と思うことがよくあります。 マルチスレッド処理を行うことで、時間のかかる処理を 複数同時に並列実行でき、高速化することができます。 (特に通信処理などで遅延がある場合に有効です) PHPにはpcntl_forkというプロセスをフォーク(複製)することが できる関数がありますが、これはPHPCGIモードで 動かしている場合にのみ有効です。 通常はPHPをApacheモジュールとして動作させていることが 多いので、これが使えないケースが多々あります。 他には、system関数などでシステムコールを行い、 など & を使って実行するという方法もありますが、 これもphpCGI版として実行できなければいけません。 システムコールで呼ぶプログラムをPerlなどで 書けばいいのですが、できればPHPで全部統一したいものです。

  • 1