同様の質問をいくつか読みましたが、そこに記載されている状況はもう少し複雑です。
ヒープと2つのスレッドのようにbool b
初期化されています。false
での操作はわかりますbools
がnot atomic
、最後まで質問を読んでください。
最初のスレッドは一b = true
度しか設定できず、他には何もしません。2 番目のスレッドb
がループをチェックし、それtrue
が何らかのアクションを実行するかどうかを確認します。
保護するために何らかの同期メカニズム (ミューテックスなど) を使用する必要がありますb
か? そうしないとどうなりますか?を使用ints
すると、同時に読み取りと書き込みを行うと、明らかに任意の値を取得できます。しかし、 とbools
があるだけtrue
で、の代わりにfalse
一度取得してもかまいません。ポテンシャルですか?false
true
SIGSEGV