⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 glib-atomic-operations.html

📁 最新gtk中文资料集
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<td><p><span class="term"><em class="parameter"><code>val</code></em>&#160;:</span></p></td><td>the value to add to *<em class="parameter"><code>atomic</code></em>.</td></tr><tr><td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td><td>the value of *<em class="parameter"><code>atomic</code></em> before the addition.</td></tr></tbody></table></div><p class="since">Since 2.4</p></div><hr><div class="refsect2" lang="en"><a name="id2851757"></a><h3><a name="g-atomic-int-compare-and-exchange"></a>g_atomic_int_compare_and_exchange ()</h3><a class="indexterm" name="id2851773"></a><pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean">gboolean</a>            g_atomic_int_compare_and_exchange   (volatile <a class="link" href="glib-Basic-Types.html#gint">gint</a> *atomic,                                                         <a class="link" href="glib-Basic-Types.html#gint">gint</a> oldval,                                                         <a class="link" href="glib-Basic-Types.html#gint">gint</a> newval);</pre><p>Compares <em class="parameter"><code>oldval</code></em> with the integer pointed to by <em class="parameter"><code>atomic</code></em> andif they are equal, atomically exchanges *<em class="parameter"><code>atomic</code></em> with <em class="parameter"><code>newval</code></em>.Also acts as a memory barrier.</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>atomic</code></em>&#160;:</span></p></td><td>a pointer to an integer.</td></tr><tr><td><p><span class="term"><em class="parameter"><code>oldval</code></em>&#160;:</span></p></td><td>the assumed old value of *<em class="parameter"><code>atomic</code></em>.</td></tr><tr><td><p><span class="term"><em class="parameter"><code>newval</code></em>&#160;:</span></p></td><td>the new value of *<em class="parameter"><code>atomic</code></em>.</td></tr><tr><td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td><td><a class="link" href="glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if *<em class="parameter"><code>atomic</code></em> was equal <em class="parameter"><code>oldval</code></em>. <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</td></tr></tbody></table></div><p class="since">Since 2.4</p></div><hr><div class="refsect2" lang="en"><a name="id2851949"></a><h3><a name="g-atomic-pointer-get"></a>g_atomic_pointer_get ()</h3><a class="indexterm" name="id2851964"></a><pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a>            g_atomic_pointer_get                (volatile <a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> *atomic);</pre><p>Reads the value of the pointer pointed to by <em class="parameter"><code>atomic</code></em>. Also acts asa memory barrier.</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>atomic</code></em>&#160;:</span></p></td><td>a pointer to a <a class="link" href="glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>.</td></tr><tr><td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td><td>the value to add to *<em class="parameter"><code>atomic</code></em>.</td></tr></tbody></table></div><p class="since">Since 2.4</p></div><hr><div class="refsect2" lang="en"><a name="id2852049"></a><h3><a name="g-atomic-pointer-set"></a>g_atomic_pointer_set ()</h3><a class="indexterm" name="id2852065"></a><pre class="programlisting">void                g_atomic_pointer_set                (volatile <a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> *atomic,                                                         <a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> newval);</pre><p>Sets the value of the pointer pointed to by <em class="parameter"><code>atomic</code></em>. Also acts as a memory barrier.</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>atomic</code></em>&#160;:</span></p></td><td>a pointer to a <a class="link" href="glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a></td></tr><tr><td><p><span class="term"><em class="parameter"><code>newval</code></em>&#160;:</span></p></td><td>the new value</td></tr></tbody></table></div><p class="since">Since 2.10</p></div><hr><div class="refsect2" lang="en"><a name="id2852156"></a><h3><a name="g-atomic-pointer-compare-and-exchange"></a>g_atomic_pointer_compare_and_exchange ()</h3><a class="indexterm" name="id2852172"></a><pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean">gboolean</a>            g_atomic_pointer_compare_and_exchange                                                        (volatile <a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> *atomic,                                                         <a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> oldval,                                                         <a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> newval);</pre><p>Compares <em class="parameter"><code>oldval</code></em> with the pointer pointed to by <em class="parameter"><code>atomic</code></em> andif they are equal, atomically exchanges *<em class="parameter"><code>atomic</code></em> with <em class="parameter"><code>newval</code></em>. Also acts as a memory barrier.</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>atomic</code></em>&#160;:</span></p></td><td>a pointer to a <a class="link" href="glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>.</td></tr><tr><td><p><span class="term"><em class="parameter"><code>oldval</code></em>&#160;:</span></p></td><td>the assumed old value of *<em class="parameter"><code>atomic</code></em>.</td></tr><tr><td><p><span class="term"><em class="parameter"><code>newval</code></em>&#160;:</span></p></td><td>the new value of *<em class="parameter"><code>atomic</code></em>.</td></tr><tr><td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td><td><a class="link" href="glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if *<em class="parameter"><code>atomic</code></em> was equal <em class="parameter"><code>oldval</code></em>. <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</td></tr></tbody></table></div><p class="since">Since 2.4</p></div><hr><div class="refsect2" lang="en"><a name="id2852356"></a><h3><a name="g-atomic-int-inc"></a>g_atomic_int_inc ()</h3><a class="indexterm" name="id2852372"></a><pre class="programlisting">void                g_atomic_int_inc                    (<a class="link" href="glib-Basic-Types.html#gint">gint</a> *atomic);</pre><p>Atomically increments the integer pointed to by <em class="parameter"><code>atomic</code></em> by 1.</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>atomic</code></em>&#160;:</span></p></td><td>a pointer to an integer.</td></tr></tbody></table></div><p class="since">Since 2.4</p></div><hr><div class="refsect2" lang="en"><a name="id2852432"></a><h3><a name="g-atomic-int-dec-and-test"></a>g_atomic_int_dec_and_test ()</h3><a class="indexterm" name="id2852448"></a><pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean">gboolean</a>            g_atomic_int_dec_and_test           (<a class="link" href="glib-Basic-Types.html#gint">gint</a> *atomic);</pre><p>Atomically decrements the integer pointed to by <em class="parameter"><code>atomic</code></em> by 1.</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>atomic</code></em>&#160;:</span></p></td><td>a pointer to an integer.</td></tr><tr><td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td><td><a class="link" href="glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if the integer pointed to by <em class="parameter"><code>atomic</code></em> is 0 afterdecrementing it.</td></tr></tbody></table></div><p class="since">Since 2.4</p></div></div><div class="refsect1" lang="en"><a name="id2852535"></a><h2>See Also</h2><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><a class="link" href="glib-Threads.html#GMutex"><span class="type">GMutex</span></a></span></p></td><td><p>GLib mutual exclusions.</p></td></tr></tbody></table></div><p></p></div><div class="refsect1" lang="en"><a name="id2852565"></a><div class="refsect2" lang="en"><a name="id2852566"></a></div><hr><div class="refsect2" lang="en"><a name="id2852567"></a></div></div></div></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -