C++相談室 part156at TECH
C++相談室 part156 - 暇つぶし2ch1012:デフォルトの名無しさん
21/08/09 00:22:59.44 bkD+cive.net
あと(pthread_mutexのようなネイティブの)mutexはそういう理由で大抵の場合は最速のロック機構になっているので, 自分で作るなら普通にmutex使った方がいいというのは同意
素人(俺とか)の考えたロックフリーデータ構造とか大抵設計か実装かその両方でバグが入る

1013:デフォルトの名無しさん
21/08/09 07:54:40.07 eF2Q2UUf.net
>>989
mutexが遅くてイヤならatomicじゃね?

1014:デフォルトの名無しさん
21/08/09 09:47:15.53 TRAo/ccI.net
>スレッドが実行中か確認したいってどんなときなのかな?
排他制御付きのキューを自力実装するときまれによくある……
キューがあふれそうになったときpushする側(producer)を待たせる作りにした場合、
popする側(consumer)はデータをpop後、producerが待っていたらその待ちを解除、
待っていなかったら何もしないという判断が居るのでこのためのフラグ
(producer側にpushを継続する意思があるかどうか、またはpush待ち中かどうかを表すフラグ)が居る
producerよりconsumerがいつも速い見込みでキューがあふれない前提(キューが必要に応じていくらでも大きくなる)
だったりその他(待ち解除が条件変数ではなくキューイングされるイベントだったり)だと無くてもよいから
ぜってー必要か、というとビミョーだがあった方がすっきり効率的なコードとして書ける

1015:デフォルトの名無しさん
21/08/09 09:51:30.16 TRAo/ccI.net
>>996
インターロックドインクリメントはまれによく使う
インクリメントに性交したら排他的操作権を獲得できた証、

1016:デフォルトの名無しさん
21/08/09 09:55:16.95 TRAo/ccI.net
となるようにインクリメントするカウンタの意味を仕向ける

1017:デフォルトの名無しさん
21/08/09 09:55:21.66 eF2Q2UUf.net
>>998
アンカーミスってねい?

1018:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 81日 23時間 0分 8秒

1019:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch