これはスレッド間でも排他制御できるのでしょうか?
スレッドレベルロックは得にない。
どれを使ってもよいがカバーファンクション
を使ってどれかを使う。
普通は、pthread_mutexを使う
プロセスレベルロックは、複数の
プロセスで処理する場合
例えばファイルなどの同時更新を
したくない場合使う。
スレッドを使う場合は、
スレッドレベルロック+プロセスレベル
ロック両方を行う必要がある。
プロセスレベルロックは、趣味も
あるがファイルロックはファイル
システムによって動作しない場合が
あるので
semopを使うの方法をお勧めする。
前期マルチスレッドプログラムのサンプル
が各種ある。
http://www.is.tsukuba.ac.jp/~yas/sie/cdsoft-2005/2005-12-09/
結論:Linuxだと ×
排他制御の解説記事
http://www.is.tsukuba.ac.jp/~yas/sie/cdsoft-2005/2005-12-09/
===================================================
プロセスレベルロック
Flock
http://www.linux.or.jp/JM/html/LDP_man-pages/man2/flock.2.ht...
プロセスレベルロック (条件によってはスレッド、面倒)
lockf(fcntl)
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/lockf.3.ht...
プロセスレベルロック
semop
http://www.linux.or.jp/JM/html/LDP_man-pages/man2/semop.2.ht...
スレッドレベルロック
LOCKFILE
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/flockfile....
スレッドレベルロック
pthread_mutex
http://www.linux.or.jp/JM/html/glibc-linuxthreads/man3/pthre...
スレッドレベルロック
sem_
http://www.linux.or.jp/JM/html/glibc-linuxthreads/man3/sem_i...
===========================================
Windows プログラマのLinux入門
http://www.geocities.jp/i96815/linux/index.html
Windows→Linuxへの移行時の注意点
http://pinka99.ddo.jp/nanao/work/OsConversion.html
コンピューター:C言語講座:マルチスレッドについて
回答ありがとうございます。
いくつかやり方があるようですが
使い分けはどのようにすればよろしいのでしょうか?
スレッドレベルロックは得にない。
どれを使ってもよいがカバーファンクション
を使ってどれかを使う。
普通は、pthread_mutexを使う
プロセスレベルロックは、複数の
プロセスで処理する場合
例えばファイルなどの同時更新を
したくない場合使う。
スレッドを使う場合は、
スレッドレベルロック+プロセスレベル
ロック両方を行う必要がある。
プロセスレベルロックは、趣味も
あるがファイルロックはファイル
システムによって動作しない場合が
あるので
semopを使うの方法をお勧めする。
前期マルチスレッドプログラムのサンプル
が各種ある。
http://www.is.tsukuba.ac.jp/~yas/sie/cdsoft-2005/2005-12-09/
丁寧な解説ありがとうございました。
丁寧な解説ありがとうございました。