マルチスレッドプログラミング相談室 その9 (459レス)
マルチスレッドプログラミング相談室 その9 http://mevius.5ch.net/test/read.cgi/tech/1339691517/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
379: デフォルトの名無しさん [] 2016/12/09(金) 07:26:48.14 ID:WzSsU1Dc マルチスレッドにおける変数の排他処理についてなんだけど、 排他制御していない状態で複数のスレッドが同じ変数に同時にアクセスすることそのものは問題ないよね? 読み取り最中に書き換えたり、書き換え最中に読み取った場合にデータが破壊されるというだけの話だよね? 例えば2byteの変数があって、スレッドAが1byte目を読み込んだ時点でスレッドBが2byte目を書き換え、 そこでスレッドAが2byte目を読み取った場合に、 データが上位1byteと下位1byteで別のデータを読み取ったことになっておかしくなるってことだよね? ということは何らかのフラグで下位1bitのみを利用するような変数であれば、 上記のような状況は起きないから排他処理しなくても大丈夫って認識でOK? http://mevius.5ch.net/test/read.cgi/tech/1339691517/379
382: デフォルトの名無しさん [] 2016/12/09(金) 16:50:23.32 ID:WzSsU1Dc ありがとう! 大丈夫かどうかというのは、 排他制御が行われていない変数へのアクセスそのものが原因となってソフトウェアがクラッシュしたり、 OSやハードウェアレベルの問題は起きたりしないよね?って意味 C言語で下位1bitしか使わない排他処理が行われてない変数があり、その1bitをif文で判定して処理を2通りに分ける場合、 必ずその2通りのどちらかになることは保証されるよね? できるだけ高速化したいから、できるだけ排他処理はしたくない。 http://mevius.5ch.net/test/read.cgi/tech/1339691517/382
385: デフォルトの名無しさん [] 2016/12/09(金) 21:27:34.75 ID:WzSsU1Dc >>384 どのパーツのソレノイド? 説明してくれ。 パソコンは自作やら修理やらよく頼まれ続けてきてるから専門的な話OKだ。 http://mevius.5ch.net/test/read.cgi/tech/1339691517/385
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.906s*