[過去ログ] C++相談室 part154 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
41: 2021/01/10(日)23:43 ID:1knBg1rC(1) AAS
同時に入ろうとしたら同時に入るのではない別の世界線に分岐するから
結局同時にならない
42: 2021/01/11(月)00:43 ID:KM6/Ii6v(1/3) AAS
posix平行宇宙論
43: 2021/01/11(月)00:44 ID:AtO8PUuj(1/7) AAS
それだと…CPUの負荷や調子によって…同時になるって…事だよ…。
44: 2021/01/11(月)00:45 ID:AtO8PUuj(2/7) AAS
mutex…危ういな…どうしよう…。運に任せて…諦めるか…。
45: 2021/01/11(月)00:54 ID:AtO8PUuj(3/7) AAS
運任せは辛い…。
46
(1): 2021/01/11(月)01:30 ID:AtO8PUuj(4/7) AAS
外部リンク:stackoverflow.com
大丈夫だと言っているが…ほんまかいな…と思います…迷信はつきもの。
47: 2021/01/11(月)01:37 ID:KM6/Ii6v(2/3) AAS
テストプログラム作ってさっさと検証しろ無能
48: 2021/01/11(月)01:59 ID:3nmpeNiQ(1) AAS
>>46
信用できないならソースやアセンブリ読めよ。ここで名無しに答えてもらっても、信用できないんだろ?
49: 2021/01/11(月)03:08 ID:KSKcxhht(1/6) AAS
MutexはOSに依存するので絶対に大丈夫ということはないですが、数々のトラブルを引き起こし最も懸念されたLinuxが安定してきてるので、現在では実用上問題がないレベルにあると思います。
50: 2021/01/11(月)03:36 ID:dLrb5ZQk(1/2) AAS
マルチCPUでバスリクエストが同時に出た場合の制御なんて明確に定義されてんだろうが
OS依存だハード依存だと逃げているから見えない不安に怯えることになるんだよ
51
(2): 2021/01/11(月)06:01 ID:vFi9Z+AQ(1/7) AAS
LinuxのMutexって使いにくいよね
俺はWindowsから入ったからMutexって名前付きが当たり前だと思ってたんだけどLinuxのMutexには名前がない
どうやって複数のプロセス間で同じMutexを使うんだよ・・・って悩んだ
共有メモリなんかでMutexのアドレスを受け渡しするらしいんだけどさ
面倒くさくなってLinux版の同期制御はファイルロックにしちゃった。。
52
(1): 2021/01/11(月)06:47 ID:KSKcxhht(2/6) AAS
LinuxのファイルロックはNFSで(※私たちにはバグのように見える)仕様通りの動作をするので気を付けたほうが良いですよ。

ユーザーが指定したファイルやディレクトリを不用意に使用すると再現性の無いバグに悩まされます。
53
(1): 2021/01/11(月)06:56 ID:vFi9Z+AQ(2/7) AAS
>>52
アドバイスありがとう
Linuxで共有メモリの使い方もよく分からなくて
共有メモリも書いてる途中で読み取りされたら困るから
「書いたよー」「読み終わったよー」ってプロセス間同期したいんだけどMutex受け渡しの前に同期処理って・・・
それで共有メモリの読み書きをファイルロックで同期してMutexを渡すかなーって考えてるうちに
もうファイルロックだけでいいんじゃないかってなってしまった

一般的にはどうやってやるのがよかったんだろ?
54
(1): 2021/01/11(月)07:35 ID:KSKcxhht(3/6) AAS
>>53
結局、「NFSではバグります」と注意したうえでファイルロックを使うことが一般的に行われてるみたいですよ。

逆に言うと、NFSだけ気を付ければ、問題が起きないみたいです。
55
(1): 2021/01/11(月)08:06 ID:RSMcM3e3(1/3) AAS
ちょっとググっただけだけどそんなに難しいかなぁ?
外部リンク[php]:www.geekpage.jp
56: 2021/01/11(月)08:06 ID:vFi9Z+AQ(3/7) AAS
>>54
ありがとう ちょと安心した
57
(1): 2021/01/11(月)08:16 ID:vFi9Z+AQ(4/7) AAS
>>55
コード見てみましたけどMutexの作成と共有メモリの書き込みが終わってからforkしてますね
forkした親と子ならそれでもいいんでしょうけど
実際は親子ではないプロセス間でMutex使いたくなったりするじゃないですか
Mutexが作成される前や共有メモリへの書き込み完了前にスレーブがMutexを要求しに来ると困ります
58
(1): 2021/01/11(月)08:38 ID:WYfXTDe9(1) AAS
>>51
名前付きも普通にある
sem_open
名前はセマフォだが当然mutexとして使える

目的がメッセージのやり取りならmkfifoも使える
59
(1): 2021/01/11(月)08:48 ID:3OtB0f6U(1) AAS
mutexじゃなくて名前付きセマフォなら普通にプロセス間で使えなかったっけ?
60
(1): 2021/01/11(月)09:14 ID:RSMcM3e3(2/3) AAS
>>57
応用力ないの?
>>58-59みたいにセマフォ使うこともできるし、名前付き共有メモリー + Mutexでもいいだろ
1-
あと 942 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.025s