人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Linux上の排他制御にflockを使用してますが
これはスレッド間でも排他制御できるのでしょうか?

●質問者: root00
●カテゴリ:コンピュータ
✍キーワード:Flock Linux スレッド 排他制御
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● kurukuru-neko
●35ポイント

結論: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

◎質問者からの返答

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

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

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


2 ● kurukuru-neko
●400ポイント ベストアンサー

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

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

を使ってどれかを使う。

普通は、pthread_mutexを使う

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

プロセスで処理する場合

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

したくない場合使う。

スレッドを使う場合は、

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

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

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

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

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

あるので

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


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

が各種ある。

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

◎質問者からの返答

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ