Files
hustoj/web/cppreference-zh/chmhelp/c-atomic-memory_order.html
2025-08-01 12:57:54 +08:00

211 lines
34 KiB
HTML

<!DOCTYPE html>
<html lang="zh" dir="ltr" class="client-nojs" xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh">
<head><meta http-equiv="x-ua-compatible" content="ie=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>memory_order</title>
<link rel="stylesheet" href="ext.css" />
<link rel="stylesheet" href="site_modules.css" />
</head>
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-c_atomic_memory_order skin-cppreference2 action-view cpp-navbar">
<div id="cpp-content-base">
<div id="content"><a id="top"></a>
<h1 id="firstHeading" class="firstHeading">memory_order</h1>
<div id="bodyContent">
<div id="contentSub"><span class="subpages">&lt; <a href="c.html">c</a>&lrm; | <a href="c-atomic.html">atomic</a></span></div>
<div id="mw-content-text" lang="zh" dir="ltr" class="mw-content-ltr" xml:lang="zh">
<table class="t-dcl-begin">
<tbody>
<tr class="t-dsc-header">
<td>
<div>&#23450;&#20041;&#20110;&#22836;&#25991;&#20214; <code>&lt;stdatomic.h&gt;</code></div>
</td>
<td></td>
<td></td>
</tr>
<tr class="t-dcl t-since-c11">
<td>
<div><span class="mw-geshi c source-c"><span class="kw2">enum</span> memory_order <span class="br0">{</span><br /></span>
<p>&nbsp; &nbsp; memory_order_relaxed,<br />
&nbsp; &nbsp; memory_order_consume,<br />
&nbsp; &nbsp; memory_order_acquire,<br />
&nbsp; &nbsp; memory_order_release,<br />
&nbsp; &nbsp; memory_order_acq_rel,<br />
&nbsp; &nbsp; memory_order_seq_cst<br /></p>
<span class="br0">}</span><span class="sy4">;</span></div>
</td>
<td class="t-dcl-nopad"></td>
<td><span class="t-mark-rev t-since-c11">(C11 &#36215;)</span></td>
</tr>
<tr class="t-dcl-sep">
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p><code>memory_order</code> &#25351;&#23450;&#20869;&#23384;&#35775;&#38382;&#65292;&#21253;&#25324;&#24120;&#35268;&#30340;&#38750;&#21407;&#23376;&#20869;&#23384;&#35775;&#38382;&#65292;&#22914;&#20309;&#22260;&#32469;&#21407;&#23376;&#25805;&#20316;&#25490;&#24207;&#12290;&#22312;&#27809;&#26377;&#20219;&#20309;&#21046;&#32422;&#30340;&#22810;&#22788;&#29702;&#22120;&#31995;&#32479;&#19978;&#65292;&#22810;&#20010;&#32447;&#31243;&#21516;&#26102;&#35835;&#25110;&#20889;&#25968;&#20010;&#21464;&#37327;&#26102;&#65292;&#19968;&#20010;&#32447;&#31243;&#33021;&#35266;&#27979;&#21040;&#21464;&#37327;&#20540;&#26356;&#25913;&#30340;&#39034;&#24207;&#19981;&#21516;&#20110;&#21478;&#19968;&#20010;&#32447;&#31243;&#20889;&#23427;&#20204;&#30340;&#39034;&#24207;&#12290;&#20854;&#23454;&#65292;&#26356;&#25913;&#30340;&#39034;&#24207;&#29978;&#33267;&#33021;&#22312;&#22810;&#20010;&#35835;&#21462;&#32447;&#31243;&#38388;&#30456;&#24322;&#12290;&#19968;&#20123;&#31867;&#20284;&#30340;&#25928;&#26524;&#36824;&#33021;&#22312;&#21333;&#22788;&#29702;&#22120;&#31995;&#32479;&#19978;&#20986;&#29616;&#65292;&#22240;&#20026;&#20869;&#23384;&#27169;&#22411;&#20801;&#35768;&#32534;&#35793;&#22120;&#21464;&#25442;&#12290;</p>
<p><a href="c-language-atomic.html">&#35821;&#35328;</a>&#21644;&#24211;&#20013;&#25152;&#26377;&#21407;&#23376;&#25805;&#20316;&#30340;&#40664;&#35748;&#34892;&#20026;&#25552;&#20379;<i>&#24207;&#21015;&#19968;&#33268;&#39034;&#24207;</i>&#65288;&#35265;&#21518;&#36848;&#35752;&#35770;&#65289;&#12290;&#35813;&#40664;&#35748;&#34892;&#20026;&#21487;&#33021;&#26377;&#25439;&#24615;&#33021;&#65292;&#19981;&#36807;&#21487;&#20197;&#32473;&#20104;&#24211;&#30340;&#21407;&#23376;&#25805;&#20316;&#39069;&#22806;&#30340; <code>memory_order</code> &#21442;&#25968;&#65292;&#20197;&#25351;&#23450;&#38468;&#21152;&#21046;&#32422;&#65292;&#22312;&#21407;&#23376;&#24615;&#22806;&#65292;&#32534;&#35793;&#22120;&#21644;&#22788;&#29702;&#22120;&#36824;&#24517;&#39035;&#24378;&#21046;&#35813;&#25805;&#20316;&#12290;</p>
<h3><span class="mw-headline" id=".E5.B8.B8.E9.87.8F">&#24120;&#37327;</span></h3>
<table class="t-dsc-begin">
<tr class="t-dsc-header">
<td colspan="2">
<div>&#23450;&#20041;&#20110;&#22836;&#25991;&#20214; <code>&lt;stdatomic.h&gt;</code></div>
</td>
</tr>
<tr class="t-dsc-hitem">
<td>&#20540;</td>
<td>&#35299;&#37322;</td>
</tr>
<tr class="t-dsc">
<td><code>memory_order_relaxed</code></td>
<td>&#23485;&#26494;&#25805;&#20316;&#65306;&#27809;&#26377;&#21516;&#27493;&#25110;&#39034;&#24207;&#21046;&#32422;&#65292;&#20165;&#23545;&#27492;&#25805;&#20316;&#35201;&#27714;&#21407;&#23376;&#24615;&#65288;&#35265;&#19979;&#26041;<a href="c-atomic-memory_order.html#.E5.AE.BD.E6.9D.BE.E9.A1.BA.E5.BA.8F">&#23485;&#26494;&#39034;&#24207;</a>&#65289;&#12290;</td>
</tr>
<tr class="t-dsc">
<td><code>memory_order_consume</code></td>
<td>&#26377;&#27492;&#20869;&#23384;&#39034;&#24207;&#30340;&#21152;&#36733;&#25805;&#20316;&#65292;&#22312;&#20854;&#24433;&#21709;&#30340;&#20869;&#23384;&#20301;&#32622;&#36827;&#34892;<i>&#28040;&#36153;&#25805;&#20316;</i>&#65306;&#24403;&#21069;&#32447;&#31243;&#20013;&#20381;&#36182;&#20110;&#24403;&#21069;&#21152;&#36733;&#30340;&#35813;&#20540;&#30340;&#35835;&#25110;&#20889;&#19981;&#33021;&#34987;&#37325;&#25490;&#21040;&#27492;&#21152;&#36733;&#21069;&#12290;&#20854;&#20182;&#37322;&#25918;&#21516;&#19968;&#21407;&#23376;&#21464;&#37327;&#30340;&#32447;&#31243;&#30340;&#23545;&#25968;&#25454;&#20381;&#36182;&#21464;&#37327;&#30340;&#20889;&#20837;&#65292;&#20026;&#24403;&#21069;&#32447;&#31243;&#25152;&#21487;&#35265;&#12290;&#22312;&#22823;&#22810;&#25968;&#24179;&#21488;&#19978;&#65292;&#36825;&#21482;&#24433;&#21709;&#21040;&#32534;&#35793;&#22120;&#20248;&#21270;&#65288;&#35265;&#19979;&#26041;<a href="c-atomic-memory_order.html#.E9.87.8A.E6.94.BE.E6.B6.88.E8.B4.B9.E9.A1.BA.E5.BA.8F">&#37322;&#25918;&#28040;&#36153;&#39034;&#24207;</a>&#65289;&#12290;</td>
</tr>
<tr class="t-dsc">
<td><code>memory_order_acquire</code></td>
<td>&#26377;&#27492;&#20869;&#23384;&#39034;&#24207;&#30340;&#21152;&#36733;&#25805;&#20316;&#65292;&#22312;&#20854;&#24433;&#21709;&#30340;&#20869;&#23384;&#20301;&#32622;&#36827;&#34892;<i>&#33719;&#24471;&#25805;&#20316;</i>&#65306;&#24403;&#21069;&#32447;&#31243;&#20013;&#35835;&#25110;&#20889;&#19981;&#33021;&#34987;&#37325;&#25490;&#21040;&#27492;&#21152;&#36733;&#21069;&#12290;&#20854;&#20182;&#37322;&#25918;&#21516;&#19968;&#21407;&#23376;&#21464;&#37327;&#30340;&#32447;&#31243;&#30340;&#25152;&#26377;&#20889;&#20837;&#65292;&#33021;&#20026;&#24403;&#21069;&#32447;&#31243;&#25152;&#35265;&#65288;&#35265;&#19979;&#26041;<a href="c-atomic-memory_order.html#.E9.87.8A.E6.94.BE.E8.8E.B7.E5.BE.97.E9.A1.BA.E5.BA.8F">&#37322;&#25918;&#33719;&#24471;&#39034;&#24207;</a>&#65289;&#12290;</td>
</tr>
<tr class="t-dsc">
<td><code>memory_order_release</code></td>
<td>&#26377;&#27492;&#20869;&#23384;&#39034;&#24207;&#30340;&#23384;&#20648;&#25805;&#20316;&#36827;&#34892;<i>&#37322;&#25918;&#25805;&#20316;</i>&#65306;&#24403;&#21069;&#32447;&#31243;&#20013;&#30340;&#35835;&#25110;&#20889;&#19981;&#33021;&#34987;&#37325;&#25490;&#21040;&#27492;&#23384;&#20648;&#21518;&#12290;&#24403;&#21069;&#32447;&#31243;&#30340;&#25152;&#26377;&#20889;&#20837;&#65292;&#21487;&#35265;&#20110;&#33719;&#24471;&#35813;&#21516;&#19968;&#21407;&#23376;&#21464;&#37327;&#30340;&#20854;&#20182;&#32447;&#31243;&#65288;&#35265;&#19979;&#26041;<a href="c-atomic-memory_order.html#.E9.87.8A.E6.94.BE.E8.8E.B7.E5.BE.97.E9.A1.BA.E5.BA.8F">&#37322;&#25918;&#33719;&#24471;&#39034;&#24207;</a>&#65289;&#65292;&#24182;&#19988;&#23545;&#35813;&#21407;&#23376;&#21464;&#37327;&#30340;&#24102;&#20381;&#36182;&#20889;&#20837;&#21464;&#24471;&#23545;&#20110;&#20854;&#20182;&#28040;&#36153;&#21516;&#19968;&#21407;&#23376;&#23545;&#35937;&#30340;&#32447;&#31243;&#21487;&#35265;&#65288;&#35265;&#19979;&#26041;<a href="c-atomic-memory_order.html#.E9.87.8A.E6.94.BE.E6.B6.88.E8.B4.B9.E9.A1.BA.E5.BA.8F">&#37322;&#25918;&#28040;&#36153;&#39034;&#24207;</a>&#65289;&#12290;</td>
</tr>
<tr class="t-dsc">
<td><code>memory_order_acq_rel</code></td>
<td>&#24102;&#27492;&#20869;&#23384;&#39034;&#24207;&#30340;&#35835;&#20462;&#25913;&#20889;&#25805;&#20316;&#26082;&#26159;<i>&#33719;&#24471;&#25805;&#20316;</i>&#21448;&#26159;<i>&#37322;&#25918;&#25805;&#20316;</i>&#12290;&#24403;&#21069;&#32447;&#31243;&#30340;&#35835;&#25110;&#20889;&#20869;&#23384;&#19981;&#33021;&#34987;&#37325;&#25490;&#21040;&#27492;&#23384;&#20648;&#21069;&#25110;&#21518;&#12290;&#25152;&#26377;&#37322;&#25918;&#21516;&#19968;&#21407;&#23376;&#21464;&#37327;&#30340;&#32447;&#31243;&#30340;&#20889;&#20837;&#21487;&#35265;&#20110;&#20462;&#25913;&#20043;&#21069;&#65292;&#32780;&#19988;&#20462;&#25913;&#21487;&#35265;&#20110;&#20854;&#20182;&#33719;&#24471;&#21516;&#19968;&#21407;&#23376;&#21464;&#37327;&#30340;&#32447;&#31243;&#12290;</td>
</tr>
<tr class="t-dsc">
<td><code>memory_order_seq_cst</code></td>
<td>&#26377;&#27492;&#20869;&#23384;&#39034;&#24207;&#30340;&#21152;&#36733;&#25805;&#20316;&#36827;&#34892;<i>&#33719;&#24471;&#25805;&#20316;</i>&#65292;&#23384;&#20648;&#25805;&#20316;&#36827;&#34892;<i>&#37322;&#25918;&#25805;&#20316;</i>&#65292;&#32780;&#35835;&#20462;&#25913;&#20889;&#25805;&#20316;&#36827;&#34892;<i>&#33719;&#24471;&#25805;&#20316;</i>&#21644;<i>&#37322;&#25918;&#25805;&#20316;</i>&#65292;&#20877;&#21152;&#19978;&#23384;&#22312;&#19968;&#20010;&#21333;&#29420;&#20840;&#24207;&#65292;&#20854;&#20013;&#25152;&#26377;&#32447;&#31243;&#20197;&#21516;&#19968;&#39034;&#24207;&#35266;&#27979;&#21040;&#25152;&#26377;&#20462;&#25913;&#65288;&#35265;&#19979;&#26041;<a href="c-atomic-memory_order.html#.E5.BA.8F.E5.88.97.E4.B8.80.E8.87.B4.E9.A1.BA.E5.BA.8F">&#24207;&#21015;&#19968;&#33268;&#39034;&#24207;</a>&#65289;&#12290;</td>
</tr>
</table>
<table class="metadata plainlinks ambox mbox-small-left ambox-notice" style="">
<tr>
<td class="mbox-empty-cell"></td>
<td class="mbox-text" style="">&#26412;&#33410;&#26410;&#23436;&#25104;<br />
&#21407;&#22240;&#65306;&#20808;&#21457;&#29983;&#20110;&#21644;&#20854;&#20182;&#27010;&#24565;&#21516; C++ &#65292;&#20294;&#20445;&#25345;&#20462;&#25913;&#39034;&#24207;&#21644;<a href="c-language-atomic.html">c/language/atomic</a>&#20013;&#30340;&#22235;&#31181;&#19968;&#33268;</td>
</tr>
</table>
<table class="metadata plainlinks ambox mbox-small-left ambox-notice" style="">
<tr>
<td class="mbox-empty-cell"></td>
<td class="mbox-text" style="">&#26412;&#33410;&#26410;&#23436;&#25104;<br />
&#21407;&#22240;&#65306;&#22312;&#20570;&#19978;&#38754;&#30340;&#26102;&#20505;&#65292;&#19981;&#35201;&#24536;&#35760;&#22312; C11 &#20986;&#29256;&#26102;&#20808;&#21457;&#29983;&#20110;&#19981;&#26159;&#19981;&#25104;&#29615;&#30340;&#65292;&#36825;&#32463;&#30001; DR 401 &#34987;&#26356;&#26032;&#21040;&#21305;&#37197;C++11</td>
</tr>
</table>
<h4><span class="mw-headline" id=".E5.AE.BD.E6.9D.BE.E9.A1.BA.E5.BA.8F">&#23485;&#26494;&#39034;&#24207;</span></h4>
<p>&#24102;&#26631;&#31614; <span class="t-c"><span class="mw-geshi c source-c">memory_order_relaxed</span></span> &#30340;&#21407;&#23376;&#25805;&#20316;&#26080;&#21516;&#27493;&#25805;&#20316;&#65307;&#23427;&#20204;&#19981;&#20250;&#22312;&#20849;&#26102;&#30340;&#20869;&#23384;&#35775;&#38382;&#38388;&#24378;&#21152;&#39034;&#24207;&#12290;&#23427;&#20204;&#21482;&#20445;&#35777;&#21407;&#23376;&#24615;&#21644;&#20462;&#25913;&#39034;&#24207;&#19968;&#33268;&#24615;&#12290;</p>
<p>&#20363;&#22914;&#65292;&#23545;&#20110;&#26368;&#21021;&#20026;&#38646;&#30340; <code>x</code> &#21644; <code>y</code> &#65292;</p>
<p><span class="t-c"><span class="mw-geshi c source-c"><span class="co1">// &#32447;&#31243; 1 &#65306;</span><br />
r1 <span class="sy1">=</span> <a href="c-atomic-atomic_load.html"><span class="kw933">atomic_load_explicit</span></a><span class="br0">(</span>y, memory_order_relaxed<span class="br0">)</span><span class="sy4">;</span> <span class="co1">// A</span><br />
<a href="c-atomic-atomic_store.html"><span class="kw931">atomic_store_explicit</span></a><span class="br0">(</span>x, r1, memory_order_relaxed<span class="br0">)</span><span class="sy4">;</span> <span class="co1">// B</span><br />
<span class="co1">// &#32447;&#31243; 2 &#65306;</span><br />
r2 <span class="sy1">=</span> <a href="c-atomic-atomic_load.html"><span class="kw933">atomic_load_explicit</span></a><span class="br0">(</span>x, memory_order_relaxed<span class="br0">)</span><span class="sy4">;</span> <span class="co1">// C</span><br />
<a href="c-atomic-atomic_store.html"><span class="kw931">atomic_store_explicit</span></a><span class="br0">(</span>y, <span class="nu0">42</span>, memory_order_relaxed<span class="br0">)</span><span class="sy4">;</span> <span class="co1">// D</span></span></span></p>
<p>&#20801;&#35768;&#20135;&#29983;&#32467;&#26524; <code>r1 == 42 &amp;&amp; r2 == 42</code> &#65292;&#22240;&#20026;&#21363;&#20351;&#32447;&#31243; 1 &#20013; A <i>&#20808;&#24207;&#20110;</i> B &#19988;&#32447;&#31243; 2 &#20013; C <i>&#20808;&#24207;&#20110;</i> D &#65292;&#21364;&#27809;&#26377;&#21046;&#32422;&#36991;&#20813; <code>y</code> &#30340;&#20462;&#25913;&#39034;&#24207;&#20013; D &#20808;&#20986;&#29616;&#20110; A &#65292;&#32780; <code>x</code> &#30340;&#20462;&#25913;&#39034;&#24207;&#20013; B &#20808;&#20986;&#29616;&#20110; C &#12290; D &#22312; <code>y</code> &#19978;&#30340;&#21103;&#25928;&#24212;&#65292;&#21487;&#33021;&#21487;&#35265;&#20110;&#32447;&#31243; 1 &#20013;&#30340;&#21152;&#36733; A &#65292;&#21516;&#26102; B &#22312; <code>x</code> &#19978;&#30340;&#21103;&#25928;&#24212;&#65292;&#21487;&#33021;&#21487;&#35265;&#20110;&#32447;&#31243; 2 &#20013;&#30340;&#21152;&#36733; C &#12290;</p>
<p><br /></p>
<p>&#23485;&#26494;&#20869;&#23384;&#39034;&#24207;&#30340;&#20856;&#22411;&#20351;&#29992;&#26159;&#35745;&#25968;&#22120;&#33258;&#22686;&#65292;&#20363;&#22914;&#24341;&#29992;&#35745;&#25968;&#22120;&#65292;&#22240;&#20026;&#36825;&#21482;&#35201;&#27714;&#21407;&#23376;&#24615;&#65292;&#20294;&#19981;&#35201;&#27714;&#39034;&#24207;&#25110;&#21516;&#27493;&#65288;&#27880;&#24847;&#35745;&#25968;&#22120;&#33258;&#20943;&#35201;&#27714;&#19982;&#26512;&#26500;&#20989;&#25968;&#36827;&#34892;&#33719;&#24471;&#37322;&#25918;&#21516;&#27493;&#65289;</p>
<h4><span class="mw-headline" id=".E9.87.8A.E6.94.BE.E6.B6.88.E8.B4.B9.E9.A1.BA.E5.BA.8F">&#37322;&#25918;&#28040;&#36153;&#39034;&#24207;</span></h4>
<p>&#33509;&#32447;&#31243; A &#20013;&#30340;&#21407;&#23376;&#23384;&#20648;&#24102;&#26631;&#31614; <span class="t-c"><span class="mw-geshi c source-c">memory_order_release</span></span> &#32780;&#32447;&#31243; B &#20013;&#26469;&#33258;&#21516;&#19968;&#23545;&#35937;&#30340;&#35835;&#21462;&#23384;&#20648;&#20540;&#30340;&#21407;&#23376;&#21152;&#36733;&#24102;&#26631;&#31614; <span class="t-c"><span class="mw-geshi c source-c">memory_order_consume</span></span> &#65292;&#21017;&#32447;&#31243; A &#35270;&#35282;&#20013;<i>&#20808;&#21457;&#29983;&#20110;</i>&#21407;&#23376;&#23384;&#20648;&#30340;&#25152;&#26377;&#20869;&#23384;&#20889;&#20837;&#65288;&#38750;&#21407;&#23376;&#21644;&#23485;&#26494;&#21407;&#23376;&#30340;&#65289;&#65292;&#20250;&#22312;&#32447;&#31243; B &#20013;&#35813;&#21152;&#36733;&#25805;&#20316;&#25152;<i>&#25658;&#24102;&#20381;&#36182;</i>&#36827;&#20837;&#30340;&#25805;&#20316;&#20013;&#21464;&#25104;<i>&#21487;&#35265;&#21103;&#25928;&#24212;</i>&#65292;&#21363;&#19968;&#26086;&#23436;&#25104;&#21407;&#23376;&#21152;&#36733;&#65292;&#21017;&#20445;&#35777;&#32447;&#31243;B&#20013;&#65292;&#20351;&#29992;&#20174;&#35813;&#21152;&#36733;&#33719;&#24471;&#30340;&#20540;&#30340;&#36816;&#31639;&#31526;&#21644;&#20989;&#25968;&#65292;&#33021;&#35265;&#21040;&#32447;&#31243; A &#20889;&#20837;&#20869;&#23384;&#30340;&#20869;&#23481;&#12290;</p>
<p>&#21516;&#27493;&#20165;&#22312;<i>&#37322;&#25918;</i>&#21644;<i>&#28040;&#36153;</i>&#21516;&#19968;&#21407;&#23376;&#23545;&#35937;&#30340;&#32447;&#31243;&#38388;&#24314;&#31435;&#12290;&#20854;&#20182;&#32447;&#31243;&#33021;&#35265;&#21040;&#19982;&#34987;&#21516;&#27493;&#32447;&#31243;&#30340;&#19968;&#32773;&#25110;&#20004;&#32773;&#30456;&#24322;&#30340;&#20869;&#23384;&#35775;&#38382;&#39034;&#24207;&#12290;</p>
<p>&#25152;&#26377;&#24322;&#20110; DEC Alpha &#30340;&#20027;&#27969; CPU &#19978;&#65292;&#20381;&#36182;&#39034;&#24207;&#26159;&#33258;&#21160;&#30340;&#65292;&#26080;&#38656;&#20026;&#27492;&#21516;&#27493;&#27169;&#24335;&#20135;&#29983;&#38468;&#21152;&#30340; CPU &#25351;&#20196;&#65292;&#21482;&#26377;&#26576;&#20123;&#32534;&#35793;&#22120;&#20248;&#21270;&#25910;&#30410;&#21463;&#24433;&#21709;&#65288;&#20363;&#22914;&#65292;&#32534;&#35793;&#22120;&#34987;&#31105;&#27490;&#29301;&#28041;&#21040;&#20381;&#36182;&#38142;&#30340;&#23545;&#35937;&#19978;&#30340;&#25512;&#27979;&#24615;&#21152;&#36733;&#65289;&#12290;</p>
<p>&#27492;&#39034;&#24207;&#30340;&#20856;&#22411;&#20351;&#29992;&#24773;&#20917;&#65292;&#28041;&#21450;&#23545;&#24456;&#23569;&#34987;&#20889;&#20837;&#30340;&#25968;&#25454;&#32467;&#26500;&#65288;&#23433;&#25490;&#34920;&#12289;&#37197;&#32622;&#12289;&#23433;&#20840;&#31574;&#30053;&#12289;&#38450;&#28779;&#22681;&#35268;&#21017;&#31561;&#65289;&#30340;&#20849;&#26102;&#35835;&#21462;&#65292;&#21644;&#26377;&#25351;&#38024;&#20013;&#20171;&#21457;&#24067;&#30340;&#21457;&#24067;&#32773;-&#35746;&#38405;&#32773;&#24773;&#24418;&#65292;&#21363;&#24403;&#29983;&#20135;&#32773;&#21457;&#24067;&#28040;&#36153;&#32773;&#33021;&#36890;&#36807;&#20854;&#35775;&#38382;&#20449;&#24687;&#30340;&#25351;&#38024;&#20043;&#26102;&#65306;&#26080;&#38656;&#20196;&#29983;&#20135;&#32773;&#20889;&#20837;&#20869;&#23384;&#30340;&#25152;&#26377;&#20854;&#20182;&#20869;&#23481;&#23545;&#28040;&#36153;&#32773;&#21487;&#35265;&#65288;&#36825;&#22312;&#24369;&#39034;&#24207;&#26550;&#26500;&#19978;&#21487;&#33021;&#26159;&#26114;&#36149;&#30340;&#25805;&#20316;&#65289;&#12290;&#36825;&#31181;&#22330;&#26223;&#30340;&#20363;&#23376;&#20043;&#19968;&#26159; <a href="https://en.wikipedia.org/wiki/Read-copy-update" class="extiw" title="enwiki:Read-copy-update">rcu &#35299;&#24341;&#29992;</a>&#12290;</p>
<p><br /></p>
<p>&#27880;&#24847;&#21040; 2015 &#24180; 2 &#26376;&#20026;&#27490;&#27809;&#26377;&#20135;&#21697;&#32534;&#35793;&#22120;&#36319;&#36394;&#20381;&#36182;&#38142;&#65306;&#22343;&#23558;&#28040;&#36153;&#25805;&#20316;&#25552;&#21319;&#20026;&#33719;&#24471;&#25805;&#20316;&#12290;</p>
<h4><span class="mw-headline" id=".E9.87.8A.E6.94.BE.E5.BA.8F.E5.88.97">&#37322;&#25918;&#24207;&#21015;</span></h4>
<p>&#33509;&#19968;&#20123;&#21407;&#23376;&#23545;&#35937;&#34987;&#23384;&#20648;-&#37322;&#25918;&#65292;&#32780;&#26377;&#25968;&#20010;&#20854;&#20182;&#32447;&#31243;&#23545;&#35813;&#21407;&#23376;&#23545;&#35937;&#36827;&#34892;&#35835;&#20462;&#25913;&#20889;&#25805;&#20316;&#65292;&#21017;&#20250;&#24418;&#25104;&ldquo;&#37322;&#25918;&#24207;&#21015;&rdquo;&#65306;&#25152;&#26377;&#23545;&#35813;&#21407;&#23376;&#23545;&#35937;&#35835;&#20462;&#25913;&#20889;&#30340;&#32447;&#31243;&#19982;&#39318;&#20010;&#32447;&#31243;&#21516;&#27493;&#65292;&#32780;&#19988;&#24444;&#27492;&#21516;&#27493;&#65292;&#21363;&#20351;&#23427;&#20204;&#27809;&#26377; <code>memory_order_release</code> &#35821;&#20041;&#12290;&#36825;&#20351;&#24471;&#21333;&#20135;&#20986;-&#22810;&#28040;&#36153;&#24773;&#20917;&#21487;&#34892;&#65292;&#32780;&#26080;&#38656;&#22312;&#27599;&#20010;&#28040;&#36153;&#32447;&#31243;&#38388;&#24378;&#21152;&#19981;&#24517;&#35201;&#30340;&#21516;&#27493;&#12290;</p>
<h4><span class="mw-headline" id=".E9.87.8A.E6.94.BE.E8.8E.B7.E5.BE.97.E9.A1.BA.E5.BA.8F">&#37322;&#25918;&#33719;&#24471;&#39034;&#24207;</span></h4>
<p>&#33509;&#32447;&#31243; A &#20013;&#30340;&#19968;&#20010;&#21407;&#23376;&#23384;&#20648;&#24102;&#26631;&#31614; <span class="t-c"><span class="mw-geshi c source-c">memory_order_release</span></span> &#65292;&#32780;&#32447;&#31243; B &#20013;&#26469;&#33258;&#21516;&#19968;&#21464;&#37327;&#30340;&#21407;&#23376;&#21152;&#36733;&#24102;&#26631;&#31614; <span class="t-c"><span class="mw-geshi c source-c">memory_order_acquire</span></span> &#65292;&#21017;&#20174;&#32447;&#31243; A &#30340;&#35270;&#35282;<i>&#20808;&#21457;&#29983;&#20110;</i>&#21407;&#23376;&#23384;&#20648;&#30340;&#25152;&#26377;&#20869;&#23384;&#20889;&#20837;&#65288;&#38750;&#21407;&#23376;&#21450;&#23485;&#26494;&#21407;&#23376;&#30340;&#65289;&#65292;&#22312;&#32447;&#31243; B &#20013;&#25104;&#20026;<i>&#21487;&#35265;&#21103;&#25928;&#24212;</i>&#65292;&#21363;&#19968;&#26086;&#21407;&#23376;&#21152;&#36733;&#23436;&#25104;&#65292;&#21017;&#20445;&#35777;&#32447;&#31243; B &#33021;&#35266;&#23519;&#21040;&#32447;&#31243; A &#20889;&#20837;&#20869;&#23384;&#30340;&#25152;&#26377;&#20869;&#23481;&#12290;</p>
<p>&#21516;&#27493;&#20165;&#24314;&#31435;&#22312;<i>&#37322;&#25918;</i>&#21644;<i>&#33719;&#24471;</i>&#21516;&#19968;&#21407;&#23376;&#23545;&#35937;&#30340;&#32447;&#31243;&#20043;&#38388;&#12290;&#20854;&#20182;&#32447;&#31243;&#21487;&#33021;&#30475;&#21040;&#19982;&#34987;&#21516;&#27493;&#32447;&#31243;&#30340;&#19968;&#32773;&#25110;&#20004;&#32773;&#30456;&#24322;&#30340;&#20869;&#23384;&#35775;&#38382;&#39034;&#24207;&#12290;</p>
<p>&#22312;&#24378;&#39034;&#24207;&#31995;&#32479;&#65288; x86 &#12289; SPARC TSO &#12289; IBM &#20027;&#26694;&#26550;&#65289;&#19978;&#65292;&#37322;&#25918;&#33719;&#24471;&#39034;&#24207;&#23545;&#20110;&#22810;&#25968;&#25805;&#20316;&#26159;&#33258;&#21160;&#36827;&#34892;&#30340;&#12290;&#26080;&#38656;&#20026;&#27492;&#21516;&#27493;&#27169;&#24335;&#28155;&#21152;&#39069;&#22806;&#30340; CPU &#25351;&#20196;&#65292;&#21482;&#26377;&#26576;&#20123;&#32534;&#35793;&#22120;&#20248;&#21270;&#21463;&#24433;&#21709;&#65288;&#20363;&#22914;&#65292;&#32534;&#35793;&#22120;&#34987;&#31105;&#27490;&#23558;&#38750;&#21407;&#23376;&#23384;&#20648;&#31227;&#21040;&#21407;&#23376;&#23384;&#20648;-&#37322;&#25918;&#21518;&#65292;&#25110;&#23558;&#38750;&#21407;&#23376;&#21152;&#36733;&#31227;&#21040;&#21407;&#23376;&#21152;&#36733;-&#33719;&#24471;&#21069;&#65289;&#12290;&#22312;&#24369;&#39034;&#24207;&#31995;&#32479;&#65288; ARM &#12289; Itanium &#12289; Power PC &#65289;&#19978;&#65292;&#24517;&#39035;&#20351;&#29992;&#29305;&#21035;&#30340; CPU &#21152;&#36733;&#25110;&#20869;&#23384;&#26629;&#26639;&#25351;&#20196;&#12290;</p>
<p>&#20114;&#26021;&#38145;&#65288;&#20363;&#22914;<a href="c-thread.html#.E4.BA.92.E6.96.A5">&#20114;&#26021;</a>&#25110;<a href="c-atomic-atomic_flag_test_and_set.html">&#21407;&#23376;&#33258;&#26059;&#38145;</a>&#65289;&#26159;&#37322;&#25918;&#33719;&#24471;&#21516;&#27493;&#30340;&#20363;&#23376;&#65306;&#32447;&#31243; A &#37322;&#25918;&#38145;&#32780;&#32447;&#31243; B &#33719;&#24471;&#23427;&#26102;&#65292;&#21457;&#29983;&#20110;&#32447;&#31243; A &#29615;&#22659;&#30340;&#20020;&#30028;&#21306;&#65288;&#37322;&#25918;&#20043;&#21069;&#65289;&#20013;&#30340;&#25152;&#26377;&#20107;&#20214;&#65292;&#24517;&#39035;&#23545;&#20110;&#25191;&#34892;&#21516;&#19968;&#20020;&#30028;&#21306;&#30340;&#32447;&#31243; B &#65288;&#33719;&#24471;&#20043;&#21518;&#65289;&#21487;&#35265;&#12290;</p>
<h4><span class="mw-headline" id=".E5.BA.8F.E5.88.97.E4.B8.80.E8.87.B4.E9.A1.BA.E5.BA.8F">&#24207;&#21015;&#19968;&#33268;&#39034;&#24207;</span></h4>
<p>&#24102;&#26631;&#31614; <span class="t-c"><span class="mw-geshi c source-c">memory_order_seq_cst</span></span> &#30340;&#21407;&#23376;&#25805;&#20316;&#19981;&#20165;&#20197;&#19982;&#37322;&#25918;/&#33719;&#24471;&#39034;&#24207;&#30456;&#21516;&#30340;&#26041;&#24335;&#25490;&#24207;&#20869;&#23384;&#65288;&#22312;&#19968;&#20010;&#32447;&#31243;&#20013;<i>&#20808;&#21457;&#29983;&#20110;</i>&#23384;&#20648;&#30340;&#20219;&#20309;&#32467;&#26524;&#37117;&#21464;&#25104;&#36827;&#34892;&#21152;&#36733;&#30340;&#32447;&#31243;&#20013;&#30340;<i>&#21487;&#35265;&#21103;&#25928;&#24212;</i>&#65289;&#65292;&#36824;&#23545;&#25152;&#26377;&#24102;&#27492;&#26631;&#31614;&#30340;&#20869;&#23384;&#25805;&#20316;&#24314;&#31435;<i>&#21333;&#29420;&#20840;&#24207;</i>&#12290;</p>
<p>&#27491;&#24335;&#32780;&#35328;&#65292;</p>
<p>&#27599;&#20010;&#21152;&#36733;&#21407;&#23376;&#23545;&#35937; M &#30340; <code>memory_order_seq_cst</code> &#25805;&#20316; B &#65292;&#35266;&#27979;&#21040;&#20197;&#19979;&#20043;&#19968;&#65306;</p>
<ul>
<li>&#20462;&#25913; M &#30340;&#19978;&#20010;&#25805;&#20316; A &#30340;&#32467;&#26524;&#65292;A &#22312;&#21333;&#29420;&#20840;&#24207;&#20013;&#20808;&#20986;&#29616;&#20110; B</li>
<li>&#25110;&#33509;&#23384;&#22312;&#36825;&#31181; A &#65292;&#21017; B &#21487;&#33021;&#35266;&#27979;&#21040;&#26576;&#20123; M &#30340;&#20462;&#25913;&#32467;&#26524;&#65292;&#36825;&#20123;&#20462;&#25913;&#38750; <code>memory_order_seq_cst</code> &#32780;&#19988;&#19981;<i>&#20808;&#21457;&#29983;&#20110;</i> A</li>
<li>&#25110;&#33509;&#19981;&#23384;&#22312;&#36825;&#31181; A &#65292;&#21017; B &#21487;&#33021;&#35266;&#27979;&#21040;&#26576;&#20123; M &#30340;&#26080;&#20851;&#32852;&#20462;&#25913;&#65292;&#36825;&#20123;&#20462;&#25913;&#38750; <code>memory_order_seq_cst</code></li>
</ul>
<p>&#33509;&#23384;&#22312; <code>memory_order_seq_cst</code>&#30340; <span class="t-lc"><a href="c-atomic-atomic_thread_fence.html">atomic_thread_fence</a></span> &#25805;&#20316; X <i>&#20808;&#24207;&#20110;</i> B &#65292;&#21017; B &#35266;&#27979;&#21040;&#20197;&#19979;&#20043;&#19968;&#65306;</p>
<ul>
<li>&#22312;&#21333;&#29420;&#20840;&#24207;&#20013;&#20808;&#20986;&#29616;&#20110; X &#30340;&#19978;&#20010; M &#30340; <code>memory_order_seq_cst</code> &#20462;&#25913;</li>
<li>&#22312;&#21333;&#29420;&#20840;&#24207;&#20013;&#21518;&#20986;&#29616;&#20110;&#23427;&#30340;&#26576;&#20123; M &#30340;&#26080;&#20851;&#32852;&#20462;&#25913;</li>
</ul>
<p>&#35774;&#26377;&#19968;&#23545; M &#19978;&#30340;&#21407;&#23376;&#25805;&#20316;&#65292;&#31216;&#20043;&#20026; A &#21644; B &#65292;&#36825;&#37324; A &#20889;&#20837;&#12289; B &#35835;&#21462; M &#30340;&#20540;&#65292;&#33509;&#23384;&#22312;&#20108;&#20010; <code>memory_order_seq_cst</code> &#30340; <span class="t-lc"><a href="c-atomic-atomic_thread_fence.html">atomic_thread_fence</a></span> X &#21644; Y &#65292;&#19988;&#33509; A <i>&#20808;&#24207;&#20110;</i> X &#65292; Y <i>&#20808;&#24207;&#20110;</i> B &#65292;&#19988; X &#22312;&#21333;&#29420;&#20840;&#24207;&#20013;&#20808;&#20986;&#29616;&#20110; Y &#65292;&#21017; B &#35266;&#27979;&#21040;&#20108;&#32773;&#20043;&#19968;&#65306;</p>
<ul>
<li>A &#30340;&#25928;&#24212;</li>
<li>&#26576;&#20123;&#22312; M &#30340;&#20462;&#25913;&#39034;&#24207;&#20013;&#21518;&#20986;&#29616;&#20110; A &#30340;&#26080;&#20851;&#32852;&#20462;&#25913;</li>
</ul>
<p>&#35774;&#26377;&#19968;&#23545; M &#19978;&#30340;&#21407;&#23376;&#25805;&#20316;&#65292;&#31216;&#20043;&#20026; A &#21644; B &#65292;&#33509;&#31526;&#21512;&#19979;&#21015;&#26465;&#20214;&#20043;&#19968;&#65292;&#21017; M &#30340;&#20462;&#25913;&#39034;&#24207;&#20013; B &#20808;&#21457;&#29983;&#20110; A</p>
<ul>
<li>&#23384;&#22312;&#19968;&#20010; <code>memory_order_seq_cst</code> &#30340; <span class="t-lc"><a href="c-atomic-atomic_thread_fence.html">atomic_thread_fence</a></span> X &#65292;&#23427;&#28385;&#36275; A <i>&#20808;&#24207;&#20110;</i> X &#65292;&#19988; X &#22312;&#21333;&#29420;&#20840;&#24207;&#20013;&#20808;&#20986;&#29616;&#20110; B</li>
<li>&#25110;&#32773;&#65292;&#23384;&#22312;&#19968;&#20010; <code>memory_order_seq_cst</code> &#30340; <span class="t-lc"><a href="c-atomic-atomic_thread_fence.html">atomic_thread_fence</a></span> Y &#65292;&#23427;&#28385;&#36275; Y <i>&#20808;&#24207;&#20110;</i> B &#65292;&#19988; A &#22312;&#21333;&#29420;&#20840;&#24207;&#20013;&#20808;&#20986;&#29616;&#20110; Y</li>
<li>&#25110;&#32773;&#65292;&#23384;&#22312; <code>memory_order_seq_cst</code> &#30340; <span class="t-lc"><a href="c-atomic-atomic_thread_fence.html">atomic_thread_fence</a></span> X &#21644; Y &#65292;&#23427;&#20204;&#28385;&#36275; A <i>&#20808;&#24207;&#20110;</i> X &#65292; Y <i>&#20808;&#24207;&#20110;</i> B &#65292;&#19988; X &#22312;&#21333;&#29420;&#20840;&#24207;&#20013;&#20808;&#20986;&#29616;&#20110; Y</li>
</ul>
<p>&#27880;&#24847;&#36825;&#34920;&#26126;&#65306;</p>
<div class="t-li1"><span class="t-li">1)</span> &#21482;&#35201;&#19981;&#24102; <code>memory_order_seq_cst</code> &#26631;&#31614;&#30340;&#21407;&#23376;&#25805;&#20316;&#36827;&#20837;&#23616;&#38754;&#65292;&#21017;&#31435;&#21363;&#20007;&#22833;&#24207;&#21015;&#19968;&#33268;&#24615;</div>
<div class="t-li1"><span class="t-li">2)</span> &#24207;&#21015;&#19968;&#33268;&#26629;&#26639;&#20165;&#20026;&#26629;&#26639;&#33258;&#36523;&#24314;&#31435;&#20840;&#24207;&#65292;&#32780;&#19981;&#20026;&#36890;&#24120;&#24773;&#20917;&#19979;&#30340;&#21407;&#23376;&#25805;&#20316;&#24314;&#31435;&#65288;<i>&#20808;&#24207;&#20110;</i>&#19981;&#26159;&#36328;&#32447;&#31243;&#20851;&#31995;&#65292;&#19981;&#21516;&#20110;<i>&#20808;&#21457;&#29983;&#20110;</i>&#65289;</div>
<p>&#33509;&#22312;&#22810;&#29983;&#20135;&#32773;-&#22810;&#28040;&#36153;&#32773;&#30340;&#24773;&#24418;&#20013;&#65292;&#19988;&#25152;&#26377;&#28040;&#36153;&#32773;&#37117;&#24517;&#39035;&#20197;&#30456;&#21516;&#39034;&#24207;&#35266;&#23519;&#21040;&#25152;&#26377;&#29983;&#20135;&#32773;&#30340;&#21160;&#20316;&#20986;&#29616;&#65292;&#21017;&#21487;&#33021;&#24517;&#39035;&#26377;&#24207;&#21015;&#39034;&#24207;&#12290;</p>
<p>&#20840;&#24207;&#21015;&#39034;&#24207;&#22312;&#25152;&#26377;&#22810;&#26680;&#31995;&#32479;&#19978;&#35201;&#27714;&#23436;&#20840;&#30340;&#20869;&#23384;&#26629;&#26639; CPU &#25351;&#20196;&#12290;&#36825;&#21487;&#33021;&#25104;&#20026;&#24615;&#33021;&#29942;&#39048;&#65292;&#22240;&#20026;&#23427;&#24378;&#21046;&#21463;&#24433;&#21709;&#30340;&#20869;&#23384;&#35775;&#38382;&#20256;&#25773;&#21040;&#27599;&#20010;&#26680;&#24515;&#12290;</p>
<h3><span class="mw-headline" id=".E4.B8.8E_volatile_.E7.9A.84.E5.85.B3.E7.B3.BB">&#19982; volatile &#30340;&#20851;&#31995;</span></h3>
<p>&#22312;&#25191;&#34892;&#32447;&#31243;&#20013;&#65292;&#19981;&#33021;&#23558;&#36890;&#36807; <a href="c-language-volatile.html">volatile &#24038;&#20540;</a>&#30340;&#35775;&#38382;&#65288;&#35835;&#21644;&#20889;&#65289;&#37325;&#25490;&#21040;&#21516;&#32447;&#31243;&#20869;&#20026;&#24207;&#21015;&#28857;&#25152;&#20998;&#38548;&#30340;&#21487;&#35266;&#27979;&#21103;&#25928;&#24212;&#65288;&#21253;&#21547;&#20854;&#20182; volatile &#35775;&#38382;&#65289;&#21518;&#65292;&#20294;&#19981;&#20445;&#35777;&#21478;&#19968;&#32447;&#31243;&#35266;&#23519;&#21040;&#27492;&#39034;&#24207;&#65292;&#22240;&#20026; volatile &#35775;&#38382;&#19981;&#24314;&#31435;&#32447;&#31243;&#38388;&#21516;&#27493;&#12290;</p>
<p>&#21478;&#22806;&#65292; volatile &#35775;&#38382;&#19981;&#26159;&#21407;&#23376;&#30340;&#65288;&#20849;&#26102;&#30340;&#35835;&#21644;&#20889;&#26159;<a href="c-language-memory_model.html">&#25968;&#25454;&#31454;&#20105;</a>&#65289;&#65292;&#19988;&#19981;&#25490;&#24207;&#20869;&#23384;&#65288;&#38750; volatile &#20869;&#23384;&#35775;&#38382;&#21487;&#20197;&#33258;&#30001;&#22320;&#37325;&#25490;&#21040; volatile &#35775;&#38382;&#21069;&#21518;&#65289;&#12290;</p>
<p>&#19968;&#20010;&#20540;&#24471;&#27880;&#24847;&#30340;&#20363;&#22806;&#26159; Visual Studio &#65292;&#20854;&#20013;&#40664;&#35748;&#35774;&#32622;&#19979;&#65292;&#27599;&#20010; volatile &#20889;&#25317;&#26377;&#37322;&#25918;&#35821;&#20041;&#65292;&#32780;&#27599;&#20010; volatile &#35835;&#25317;&#26377;&#33719;&#24471;&#35821;&#20041;&#65288; <a rel="nofollow" class="external text" href="http://msdn.microsoft.com/en-us/library/12a04hfd(v=vs.100).aspx">MSDN</a> &#65289;&#65292;&#25925;&#32780;&#21487;&#23558; volatile &#23545;&#35937;&#29992;&#20110;&#32447;&#31243;&#38388;&#21516;&#27493;&#12290;&#26631;&#20934;&#30340; <span class="t-c"><span class="mw-geshi c source-c"><span class="kw4">volatile</span></span></span> &#35821;&#20041;&#19981;&#21487;&#24212;&#29992;&#20110;&#22810;&#32447;&#31243;&#32534;&#31243;&#65292;&#23613;&#31649;&#23427;&#20204;&#22312;&#24212;&#29992;&#21040; <span class="t-c"><span class="mw-geshi c source-c"><a href="c-program-sig_atomic_t.html"><span class="kw499">sig_atomic_t</span></a></span></span> &#23545;&#35937;&#26102;&#65292;&#36275;&#20197;&#19982;&#20363;&#22914;&#36816;&#34892;&#20110;&#21516;&#19968;&#32447;&#31243;&#30340; <span class="t-lc"><a href="c-program-signal.html">signal</a></span> &#22788;&#29702;&#20989;&#25968;&#20132;&#27969;&#12290;</p>
<h3><span class="mw-headline" id=".E7.A4.BA.E4.BE.8B">&#31034;&#20363;</span></h3>
<table class="metadata plainlinks ambox mbox-small-left ambox-notice" style="">
<tr>
<td class="mbox-empty-cell"></td>
<td class="mbox-text" style="">&#26412;&#33410;&#26410;&#23436;&#25104;<br />
&#21407;&#22240;&#65306;&#26242;&#26080;&#31034;&#20363;</td>
</tr>
</table>
<h3><span class="mw-headline" id=".E5.BC.95.E7.94.A8">&#24341;&#29992;</span></h3>
<div class="t-ref-std-11">
<ul>
<li>C11 &#26631;&#20934;&#65288;ISO/IEC 9899:2011&#65289;&#65306;</li>
</ul>
<dl>
<dd>
<ul>
<li>7.17.1/4 memory_order (p: 273)</li>
</ul>
</dd>
</dl>
<dl>
<dd>
<ul>
<li>7.17.3 Order and consistency (p: 275-277)</li>
</ul>
</dd>
</dl>
</div>
<h3><span class="mw-headline" id=".E5.8F.82.E9.98.85">&#21442;&#38405;</span></h3>
<table class="t-dsc-begin"></table>
<h3><span class="mw-headline" id=".E5.A4.96.E9.83.A8.E9.93.BE.E6.8E.A5">&#22806;&#37096;&#38142;&#25509;</span></h3>
<ul>
<li><a href="https://en.wikipedia.org/wiki/MOESI_protocol" class="extiw" title="enwiki:MOESI protocol">MOESI &#21327;&#35758;</a></li>
</ul>
<table class="metadata plainlinks ambox mbox-small-left ambox-notice" style="">
<tr>
<td class="mbox-empty-cell"></td>
<td class="mbox-text" style="">&#26412;&#33410;&#26410;&#23436;&#25104;<br />
&#21407;&#22240;&#65306;&#25105;&#20204;&#22312; QPI &#12289; MOESI &#21487;&#33021;&#36824;&#26377; Dragon &#19978;&#25214;&#19979;&#22909;&#21442;&#32771;</td>
</tr>
</table>
<ul>
<li><a rel="nofollow" class="external text" href="http://www.cl.cam.ac.uk/~pes20/weakmemory/cacm.pdf">x86-TSO &#65306; x86 &#22810;&#22788;&#29702;&#22120;&#19978;&#20005;&#26684;&#32780;&#26377;&#29992;&#30340;&#31243;&#24207;&#21592;&#27169;&#22411;</a>&#65292;P. Sewell &#31561;&#65292; 2010</li>
<li><a rel="nofollow" class="external text" href="http://www.cl.cam.ac.uk/~pes20/ppc-supplemental/test7.pdf">ARM &#21450; POWER &#23485;&#26494;&#20869;&#23384;&#27169;&#22411;&#30340;&#20837;&#38376;&#25945;&#31243;</a>&#65292; P. Sewell &#31561; &#65292; 2012</li>
<li><a rel="nofollow" class="external text" href="https://researchspace.auckland.ac.nz/bitstream/handle/2292/11594/MESIF-2009.pdf?sequence=6">MESIF &#65306;&#28857;&#23545;&#28857;&#20114;&#32852;&#30340;&#20004;&#36339;&#32531;&#23384;&#19968;&#33268;&#24615;&#21327;&#35758;</a>&#65292; J.R. Goodman, H.H.J. Hum &#65292; 2009</li>
</ul>
</div>
<div class="visualClear"></div>
</div>
</div>
</div>
</body>
</html>