Linux上の排他制御にflockを使用してますが

これはスレッド間でも排他制御できるのでしょうか?

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2006/08/19 08:17:59
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:kurukuru-neko No.2

回答回数1844ベストアンサー獲得回数155

ポイント400pt

スレッドレベルロックは得にない。

どれを使ってもよいがカバーファンクション

を使ってどれかを使う。

普通は、pthread_mutexを使う

プロセスレベルロックは、複数の

プロセスで処理する場合

例えばファイルなどの同時更新を

したくない場合使う。

スレッドを使う場合は、

スレッドレベルロック+プロセスレベル

ロック両方を行う必要がある。

プロセスレベルロックは、趣味も

あるがファイルロックはファイル

システムによって動作しない場合が

あるので

semopを使うの方法をお勧めする。


前期マルチスレッドプログラムのサンプル

が各種ある。

http://www.is.tsukuba.ac.jp/~yas/sie/cdsoft-2005/2005-12-09/

id:root00

丁寧な解説ありがとうございました。

2006/08/19 08:16:12

その他の回答1件)

id:kurukuru-neko No.1

回答回数1844ベストアンサー獲得回数155

ポイント35pt

結論: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言語講座:マルチスレッドについて

http://www.ncad.co.jp/~komata/c-kouza28.htm

id:root00

回答ありがとうございます。

いくつかやり方があるようですが

使い分けはどのようにすればよろしいのでしょうか?

2006/08/17 22:08:35
id:kurukuru-neko No.2

回答回数1844ベストアンサー獲得回数155ここでベストアンサー

ポイント400pt

スレッドレベルロックは得にない。

どれを使ってもよいがカバーファンクション

を使ってどれかを使う。

普通は、pthread_mutexを使う

プロセスレベルロックは、複数の

プロセスで処理する場合

例えばファイルなどの同時更新を

したくない場合使う。

スレッドを使う場合は、

スレッドレベルロック+プロセスレベル

ロック両方を行う必要がある。

プロセスレベルロックは、趣味も

あるがファイルロックはファイル

システムによって動作しない場合が

あるので

semopを使うの方法をお勧めする。


前期マルチスレッドプログラムのサンプル

が各種ある。

http://www.is.tsukuba.ac.jp/~yas/sie/cdsoft-2005/2005-12-09/

id:root00

丁寧な解説ありがとうございました。

2006/08/19 08:16:12
  • id:kurukuru-neko

    大学の講義で使われている資料ですが、
    並列、分散などをサンプルコード、図で説明が
    あります。
    分散システムの基本的な同期方法や、問題点
    等も説明されています。

    「参考」
    筑波大学 システム情報工学研究科・理工学研究科
    並列分散ソフトウェア 講義資料
    http://www.cs.tsukuba.ac.jp/~yas/sie/

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません