タグ

parallelとmultithreadに関するmanabouのブックマーク (4)

  • マルチスレッド・プログラミングの道具箱

    まえがき クラウド上の仮想サーバから手元のスマートフォンまで、いまや複数のCPUコアを搭載するマルチコアはどこにでもある環境になりました。ハードウェア側が並列(Parallel)・並行(Concurrent)処理に向けて急速に進化する一方で、ソフトウェア側つまりプログラミング言語の進化はさほど追い付いていません。並行処理記述の手軽さを求めた Go言語 や、マルチスレッド処理の安全性を重視する Rust言語 などが登場してはいるものの、「普通にプログラムを記述するだけで複数CPUコア環境で高速に走るプログラミング言語」は遠い夢物語のままです。 モダンなプログラミング言語や並列・並行処理ライブラリは、複雑で難解なマルチスレッド処理を直接記述しなくてすむよう、安全性・利便性の高い抽象化レイヤを提供します(例:Go言語のgoroutineとchannel、Rust言語の Rayonライブラリ)。し

    マルチスレッド・プログラミングの道具箱
  • マルチスレッド/プロセスまとめ(Ruby編) - Qiita

    知識 プロセス プログラムの実行単位 固有のメモリ空間を持つ(リソースを共有しない) マルチプロセスの場合、物理/仮想メモリ領域間のアドレス解決のオーバーヘッドが高い。 スレッド プロセスの実行単位 共通のメモリ空間を持つ(リソースを共有する) マルチスレッドの場合、物理/仮想メモリ領域間のアドレス解決は発生しない。 ユーザースレッド ユーザー空間(アプリケーションが利用するメモリ空間)を利用 1つのプロセスに複数のスレッドがあっても、1つのスレッドしか実行されない。 OSカーネルを介さないスレッド切り替えのため、スレッド切り替えに伴うオーバーヘッドが少ない。 仮想VM上で実行されるスレッドをグリーンスレッドと呼ぶ。 カーネルスレッド カーネル空間(カーネルが利用するメモリ空間)を利用 1つのプロセスに複数のスレッドがある場合、同時に複数(CPUコア数分)のスレッドを実行できる。 OS

    マルチスレッド/プロセスまとめ(Ruby編) - Qiita
  • Pythonにおける並列処理プログラミング入門 - MyEnigma

    エキスパートPythonプログラミング改訂2版posted with カエレバMichal Jaworski,Tarek Ziade KADOKAWA 2018-02-26 Amazonで最安値を探す楽天市場で最安値を探すYahooショッピングで最安値を探す 目次 目次 はじめに subprocessによる複数子プロセス処理 concurrent.futuresによるマルチプロセス処理 Queueによる並行プログラミング 最後に 参考資料 MyEnigma Supporters はじめに 元々Pythonは、 そこまで処理速度が早い言語ではないので、 システムの処理速度を最適化したい場合は、 C++などで書き直した方が良いのかもしれませんが、 Pythonシステムをあと少し早くしたい時には、 並行処理プログラミングをしてみると、 効果があるかもしれません。 最近のコンピューターはマルチコア

    Pythonにおける並列処理プログラミング入門 - MyEnigma
  • Java並行・並列・非同期処理チートシート

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Java並行・並列・非同期処理チートシート
  • 1