pthreadsでマルチスレッドを学んでいく
概要
マルチスレッドプログラミングについて体系的に学んだことがなかった。普段触れる言語はPythonとC++がメインで、マルチスレッドに出会うのは物体検出モデルの著者実装のスクリプトくらいという状態で、マルチスレッドにはあまり縁が無かった。しかしマルチスレッドプログラミングはあらゆるところで使われているはずで、一度体系的に学んでおきたかった。組み込み系にも興味があったため、C言語のマルチスレッドプログラミングをサポートするライブラリであるpthreadsを用いて勉強することにした。
内容
『Linuxとpthreadsによるマルチスレッドプログラミング入門』という本を用いた。これはとある勉強会の内容をそのまま本に落とし込んだような本で、実習形式になっており、マルチスレッドの基礎+pthreadsの使い方を元にコマンドラインアプリを作ろうというものだ。
作ったプログラムは「マルチスレッドセーフなQueue」である。また、これを使ってTerminal上で点を支持した地点に動かすアプリを作った。
Destination?に対して目的地の座標(y, x)を入力すると、点がそこへ向かう。スレッドセーフなキューを用いているため点が動いている途中でも目的地を入力することができる。
コードはこちら↓
詳細はREADMEへ。