10.10.htm
来自「This ECMA Standard specifies the form an」· HTM 代码 · 共 2 行
HTM
2 行
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Hyperlinked ECMA C# Language Specification</title><meta name="author" content="Jon Jagger" /><link rel="stylesheet" href="ecma334.css"></link></head><body><div align="right"><em><a href="http://www.jaggersoft.com">Jon Jagger</a></em></div><div align="right"><a href="mailto:jon@jaggersoft.com">jon@jaggersoft.com</a></div><form method="get" action="http://search.atomz.com/search/"><input size="30" name="sp-q"></input><input type="submit" value="Search C# Spec"></input><input type="hidden" name="sp-a" value="sp10024177"></input><input type="hidden" name="sp-f" value="ISO-8859-1"></input></form><a href="toc.htm">Table of Contents</a> <a href="1.htm">1</a> <a href="2.htm">2</a> <a href="3.htm">3</a> <a href="4.htm">4</a> <a href="5.htm">5</a> <a href="6.htm">6</a> <a href="7.htm">7</a> <a href="8.htm">8</a> <a href="9.htm">9</a> <a href="10.htm">10</a> <a href="11.htm">11</a> <a href="12.htm">12</a> <a href="13.htm">13</a> <a href="14.htm">14</a> <a href="15.htm">15</a> <a href="16.htm">16</a> <a href="17.htm">17</a> <a href="18.htm">18</a> <a href="19.htm">19</a> <a href="20.htm">20</a> <a href="21.htm">21</a> <a href="22.htm">22</a> <a href="23.htm">23</a> <a href="24.htm">24</a> <a href="25.htm">25</a> <a href="notes.htm">Notes</a> <a href="HyperlinkedCSharpECMA.zip">Download</a><span class="ruler"></span><span class="heading">ECMA-334 C# Language Specification</span><span class="navigate"><a href="10.9.htm"><img src="previous.gif" alt="previous" border="0" /></a><a href="11.htm"><img src="next.gif" alt="next" border="0" /></a></span><span class="clause-depth"><a href="9.htm"><img src="previous.gif" alt="previous at this level" border="0" /></a><a href="11.htm"><img src="next.gif" alt="next at this level" border="0" /></a> <span class="clause-number-link"><a href="10.htm">10</a></span><span class="clause-title-previous"> Basic concepts</span></span><span class="clause-depth"><a href="10.9.htm"><img src="previous.gif" alt="previous at this level" border="0" /></a><a href="10.10.htm"><img src="next.gif" alt="next at this level" border="0" /></a> <span class="clause-number">10.10</span><span class="clause-title"> Execution order</span></span><span class="locator">
Paragraph 1</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P1S1"></a>Execution shall proceed such that the side effects of each executing thread are preserved at critical execution points.</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P1S2"></a>A side effect is defined as a read or write of a volatile field, a write to a non-volatile variable, a write to an external resource, and the throwing of an exception.</span> <span class="sentence"><span class="sentence-number">3</span> <a name="P1S3"></a>The critical execution points at which the order of these side effects must be preserved are references to volatile fields (<a href="17.4.3.htm">§17.4.3</a>), lock statements (<a href="15.12.htm">§15.12</a>), and thread creation and termination.</span> <span class="sentence"><span class="sentence-number">4</span> <a name="P1S4"></a>An implementation is free to change the order of execution of a C# program, subject to the following constraints: </span><ul><li><span class="sentence"><span class="sentence-number">5</span> <a name="P1S5"></a> Data dependence is preserved within a thread of execution.</span> <span class="sentence"><span class="sentence-number">6</span> <a name="P1S6"></a>That is, the value of each variable is computed as if all statements in the thread were executed in original program order.</span> </li><li><span class="sentence"><span class="sentence-number">7</span> <a name="P1S7"></a> Initialization ordering rules are preserved (<a href="17.4.4.htm">§17.4.4</a> and <a href="17.4.5.htm">§17.4.5</a>).</span> </li><li><span class="sentence"><span class="sentence-number">8</span> <a name="P1S8"></a> The ordering of side effects is preserved with respect to volatile reads and writes (<a href="17.4.3.htm">§17.4.3</a>).</span> <span class="sentence"><span class="sentence-number">9</span> <a name="P1S9"></a>Additionally, an implementation need not evaluate part of an expression if it can deduce that that expression's value is not used and that no needed side effects are produced (including any caused by calling a method or accessing a volatile field).</span> <span class="sentence"><span class="sentence-number">10</span> <a name="P1S10"></a>When program execution is interrupted by an asynchronous event (such as an exception thrown by another thread), it is not guaranteed that the observable side effects are visible in the original program order.</span> </li></ul></span><span class="ruler"></span><table><tr><td><table align="left" bgcolor="navy"><tr bgcolor="navy"><td><font face="Arial,sans-serif" size="6" color="yellow"><strong>{ JSL }</strong></font></td></tr></table></td></tr><tr><td><font face="Arial,sans-serif" size="2" color="navy"><strong>Jagger Software Ltd</strong></font></td></tr><tr><td><font face="Arial,sans-serif" size="2" color="navy"><strong>Company # 4070126</strong></font></td></tr><tr><td><font face="Arial,sans-serif" size="2" color="navy"><strong>VAT # 762 5213 42</strong></font></td></tr></table><img src="valid-html401.png" align="left" height="31" width="88" alt="Valid HTML 4.01" /><img src="vcss.gif" align="left" height="31" width="88" alt="Valid CSS" /></body></html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?