マルチスレッドプログラミング相談室 その4
at TECH
965:923
06/09/09 17:20:22
>>962
>このスレでも議論されてる
結論はどうだったのでしょう? 以下、各行が別スレッドで動くとして、
a=0x00001111;
a=0x22220000;
b=a;
で、bが0x22221111になるケースがあったのでしょうか?あまり対象を
広げても大変ですし、身近なWindows環境で。
たとえば68000CPUとかでアライメントを知らない人が、奇数アドレスに
byteより大きな単位でアクセスして落ちたりすると面食らうじゃ
ないですか。
PC互換機上で0x22221111のケースって、アライメント違反ほどに顕著な
現象じゃないですよね? で、実際のアプリでも、検証プログラムでも
不具合を(少なくとも当方は)見たことが無いとなると、Windowsアプリでは
「汎用レジスタから奇数アドレスへのアクセスが(遅いけど)許可されて」
いるように0x22221111のようなことは起こりえないものとしてプログラムを書いて
もいいんじゃないかと思ったのです。Windows依存だといわれればその通りです。
PC互換機の設計図やWindowsアプリの構築方法にやったらイカン
と明示してあれば従うのにやぶさかじゃないですけどそういうソースって
このスレで議論されたという中で、もし出てきたのならお教えください。
もしくは、現象が簡単に再現するプログラムの書き方があれば反例
として文句をつける余地はありません。
>理論的な裏づけもなく
もし検証プログラムに理論的なミスがあれば指摘してください。
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5349日前に更新/278 KB
担当:undef