前回の記事では、マルチスレッドプログラミングをご紹介しました。前回のは、最後にリンク貼っておくので、そっちを先に読むと理解しやすいかも。今回はMutexを使うことで、スレッド間で共有する変数に排他制御を施していきます。今回は「Mutex」を使います。切り替わってはいけない!!」というパートを保護するものです。(クリティカルセクションと呼ぶ)しかしクリティカルセクションは、プログラマーが決めるので、コンピュータにも分かるように、ソース上で明示する必要があります。出るときに「アンロック」を宣言します。「どこからどこまでをクリティカルセクションとするか」によって処理の整合性が変わります。書き込む箇所がそれに該当します。それでは、前回の例をもとに、Mutexを使って書き換えてみます。アンロックの状況を格納するための変数を最初に用意します。pthread_mutex_t型のmutex用の変数がpthreadライブラリに用意されています。クリティカルセクションに入るときにロックを宣言します。宣言するときは、pthread_mutex_lock関数を使います。*mutex)引数はpthread_mutex_t型の変数のアドレスを渡します。処理を進めることが出来ます。クリティカルセクションを出るときは、アンロックを宣言する必要があります。pthread_mutex_unlock関数を使います。引数にはpthead_mutex_t型変数のアドレスを指定します。pthread_mutex_lockもpthread_mutex_unlockも成功すれば0を、失敗すれば非ゼロのエラーコードを戻り値として返します。main文では最初と最後に。phread_mutex_init関数とpthread_mutex_destroy関数を呼び出します。残ったスレッドが和を計算します。和を計算するだけのスレッドを作成しました。終了するのを待たないと共通変数を使えません。これではスレッドを使わないプログラムと同じに思えるかもしれません。他の処理を進めてあげれば、スレッドプログラミングの効果を実感できるかと思います。最後まで読んでいただきありがとうございました。【マルチスレッド=浮気!?】実際にC++でプログラムしてみた。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。date*日本語が含まれない投稿は無視されますのでご注意ください。簡単にまとめておこうと思います。それをプロセスに通知します。IPv6を取得して標準出力させてみます。実装して体験してみたいと思います。その前に事前知識の準備です。動的メモリ確保用の領域です。いくつ作成できるか検証してみます。実際に確認してみましょう。このようになってしまいます。...PREV【マルチスレッド=浮気!?】実際にC++でプログラムしてみた。~マルチスレッドとは~NEXT【初売り】2020年秋月電子(秋葉原店)の初売りに行ってみたプロフィール某名門大の大学院生です。IoT、人口知能、ネットワークインフラ系まで幅広く興味があります。いう方のために簡単にまとめてみました。IPv6を取得して標準出力させてみます。自分の目で調査したのでまとめます。変更までする方法をご紹介します。ioctlシステムコールを使います。フラグを引数に指定します。一度まとめておこうと思います。以下が思いつくかと思います。全て"stdio.h"に定義されています。