この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。
建築家
建築家
リスト
放送
茶屋
インテリジェントAI会話
.NETキャリア&テクニカルカレッジ
ちっちゃいなクズブログ
この版
利用者
Architect_Programmer_Code農業ネットワーク
»
建築家
›
プログラミング
›
.Net/C#
›
.net/C#におけるボラタイルキーワード学習
眺める:
24045
|
答える:
0
[コンソールプログラム]
.net/C#におけるボラタイルキーワード学習
[リンクをコピー]
クズども
掲載地 2018/05/23 11:23:40
|
|
|
|
MS リンク:
ハイパーリンクのログインが見えます。
ボラタイルキーワードは、フィールドが複数のスレッドが同時に実行されることで修正できることを示します。 揮発性と宣言されたフィールドは、単一のスレッドでアクセスされると仮定してコンパイラの最適化によって制限されません。 これにより、フィールドは常に最新の値でレンダリングされます。
揮発性修飾子は通常、複数のスレッドがアクセスするフィールドに使われますが、ロック文でアクセスをシリアライズしないフィールドに使われます。
ボラタイルキーワードは、以下の種類のフィールドに適用できます:
引用タイプ。
ポインタタイプ(安全でない文脈での話)。 ポインタ自体は可変であるが、指し示す対象は可変ではないことに注意。 言い換えれば、「可変オブジェクトへのポインタ」は宣言できません。
sbyte、byte、short、ushort、int、uint、char、float、boolなどの型があります。
以下のいずれかの基本型を持つエノム型:バイト、スバイト、ショート、uショート、int、またはuint。
参照型として知られている汎用型パラメータ。
IntPtrとUIntPtr。
変数キーワードはクラスまたは構造体のフィールドにのみ適用可能です。
局所変数は揮発性として宣言できません
。
もう無駄なことはやめて、試すループを書いてみてください:
ループで1万回テストしよう。
値の出力は正しいと判明しましたが、
説明がつかない
Volatileはスレッドに安全です
なぜなら、何度もテストすれば計算ミスが出ることがわかるからです! 正しい結果が出る可能性もあれば、間違った結果になる可能性もあるからです
コード:
ログインが見えます。
もう一度10万ループをテストすると、aの値が誤っていることがわかります。なぜならループ数が少なければ少ないほどエラーの可能性は低く、誤差はあまり明白でないからです。ちょうど先ほど1万ループの後にエラーがなかったのと同じです。
ここでロックを追加してテストすると、aの値が予想通り正しく計算されていることがわかります。
コード:
ログインが見えます。
まとめ:上記の例でわかるように、volatileはスレッドの安全性を保証するものではありません。
先の:
パケットグラビングツールsmsniff 2.0中国語版をダウンロードしてください
次に:
VS リモートデバッグ「デバッグ操作が予想より時間がかかる」ソリューション
関連記事
•
XPathを使ってXMLやHTMLドキュメントの内容を取得する
•
Dockerイメージ:ManifestダイジェストとIndexダイジェストの違い
•
ASP.NET コア(33)ファイル出力ダウンロード(中国語ファイル名)
•
SQL Serverサーバーはデータベースの整合ルールを修正します
•
個人ファイル(アーカイブ情報)の所在について問い合わせてください。
•
2つのONNXモデル最適化器
•
UUIDとは何ですか? およびバージョン間の違い
•
Gl-inetルーターがロケージを変更する
•
QRCODEについて QRコードのフォールトトレランスレベル
•
C#プログラミングでは、オーバーライドとニューキーワードを区別するために使われます
閲覧したセクション
HTML/CSS/JavaScript
PHP
ウェブサイト構築
技術チャット
レジャー灌漑
オラクル
簡単な言語/E4A
ニシキヘビ
フロントエンドフレーム
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。
Mail To:help@itsvse.com