LoginSignup
4
3

More than 1 year has passed since last update.

マルチスレッドとマルチコア

Last updated at Posted at 2022-01-16

SS 192.png がいねんのまとめ

シングルスレッド

SS 1372.png
英語の宿題が終わったら数学の宿題をやる。
これを毎日ループするイメージ。
ごく普通にプログラムを書くとこうなる。

マルチスレッド

SS 1373.png
分身の術のような感じで2つ以上のプログラムを同時に実行する。
プログラムはループするプロセスが複数が並立する感じになる。
プロセス同士の調整がキモ。

マルチコア

SS 1374.png
デュアルコアならコアが2つあるので2つのプログラムを同時に実行できる。
2つのプログラムでデータをやり取りする場合には調整が必要になる。

マルチコア&マルチスレッド

SS 1375.png
マルチコアのそれぞれをマルチスレッド化することもできる。

リアルタイム処理

それぞれのプロセスは、問い合わせがあった瞬間に即座に答えを出せるよう、決められた時間内にプロセスを終了させて待機している必要がある。
またやりとりするデータの書き換えなどが同時に起こると不都合なので、そこもケアしなくてはならない。
さらにデッドロックという、互いに互いの終了を待つという状態に入ると、システムがフリーズしてしまう。
μITRONやFreeRTOSなど、組み込みOSと呼ばれるものはこのリアルタイム処理が得意。

次回

実際にArduinoIDEとESP32でサンプルプログラムを実行してみます。

シリーズ記事:

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3