タグ

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

タグの絞り込みを解除

parallelismとconcurrencyとスレッドに関するakaneharaのブックマーク (1)

  • タダ飯を食わせろ

    CPUが複数あっても処理が早くならない。 これは、ソフトウェア側の都合があるからだ。 これが意外と厄介なのである。 複数のプロセッサを使って、並列処理をするためには、Windowsではプログラムをスレッドという実行単位に分割する必要がある。通常のプログラムでは、スレッド分割が意識されていない(スレッドを分けていない)ため、Windowsは並列に実行しようとしない。 なお、適時 DoEvents 命令を挟んでやることで、処理中に別の処理を割り込ませることはできる。しかし、残念ながら1プロセスあたりに割り当てられるCPUは同時に1つだけであり、CPU使用率の合計は常に1CPU分である。 DoEventsを実行したとき、他の処理が割り込むだけであって、並列には動かない。 ちなみに、Aの処理中にBの処理が割り込み、さらにその途中でCの処理が割り込んでくると、処理が終わる順番はC→B→Aとなる。割り

  • 1