トップページ > プログラム > 2019年03月05日 > w8adCz4V

書き込み順位&時間帯一覧

7 位/223 ID中時間01234567891011121314151617181920212223Total
書き込み数1500000000000000000000006



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
C++相談室 part141

書き込みレス一覧

C++相談室 part141
177 :デフォルトの名無しさん[sage]:2019/03/05(火) 00:17:46.56 ID:w8adCz4V
セーフなわけがあるか!!1111!11!!!!1!
C++相談室 part141
180 :デフォルトの名無しさん[sage]:2019/03/05(火) 01:03:06.00 ID:w8adCz4V
C++11以降はセーフになったらしい(キリ
ttps://cpprefjp.github.io/lang/cpp11/static_initialization_thread_safely.html
C++相談室 part141
181 :デフォルトの名無しさん[sage]:2019/03/05(火) 01:04:55.09 ID:w8adCz4V
Double Checked Lockingはジャヴァのメモリモデルがうまく対応できてなくて騒ぎになったことがある技法
C++相談室 part141
182 :デフォルトの名無しさん[sage]:2019/03/05(火) 01:11:12.97 ID:w8adCz4V
もし関数内static変数の初期化をDouble Checked Lockingを使わずにスレッドセーフにしようとしたら、
関数に入る度に毎回馬鹿正直にクリティカルセクションに入るために1000クロックぐらい捨てることになってしまうま
スピンロックか何かの黒魔術で若干緩和する実装も有り得るかもしれんが基本は

ジャヴァではなくてC++の処理系がdouble checked lockingする分には
処理系がサポートするネイティブなアーキテクチャのみ考えれば良いから
問題が生じることは無いはずでとりあえずはめでたいと思うが、
C++相談室 part141
184 :デフォルトの名無しさん[sage]:2019/03/05(火) 01:38:41.08 ID:w8adCz4V
リンカにシンボルを渡す手段がイマイチ決め手に欠くキモス
C++相談室 part141
185 :デフォルトの名無しさん[sage]:2019/03/05(火) 01:40:59.82 ID:w8adCz4V
あと複数の翻訳単位間ではグローバル変数の初期化順序は保証されない(保証しようが無い)から
そういう混乱を避けるために関数内staticは関数に入ったとき初期化されてホスイ

個人的には使わないから知らんが


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。