上传cppreference

This commit is contained in:
2025-08-01 12:57:54 +08:00
parent e29892f8cd
commit 196e706fe4
5485 changed files with 982007 additions and 3 deletions

View File

@@ -0,0 +1,71 @@
<!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>C++ &#20855;&#21517;&#35201;&#27714;&#65306;&#20849;&#20139;&#23450;&#26102;&#20114;&#26021;&#20307; (SharedTimedMutex)</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-cpp_named_req_SharedTimedMutex skin-cppreference2 action-view cpp-navbar">
<div id="cpp-content-base">
<div id="content"><a id="top"></a>
<h1 id="firstHeading" class="firstHeading"><span style="font-size:0.7em; line-height:130%">C++ &#20855;&#21517;&#35201;&#27714;&#65306;</span><span style="font-style:italic">&#20849;&#20139;&#23450;&#26102;&#20114;&#26021;&#20307;</span> <span style="font-family: Georgia, &#39;DejaVu Serif&#39;, serif; font-style:italic">(SharedTimedMutex)</span></h1>
<div id="bodyContent">
<div id="contentSub"><span class="subpages">&lt; <a href="cpp.html">cpp</a>&lrm; | <a href="cpp-named_req.html">named req</a></span></div>
<div id="mw-content-text" lang="zh" dir="ltr" class="mw-content-ltr" xml:lang="zh">
<p><strong class="selflink"><span style="font-style:italic">&#20849;&#20139;&#23450;&#26102;&#20114;&#26021;&#20307;</span> <span style="font-family: Georgia, &#39;DejaVu Serif&#39;, serif; font-style:italic">(SharedTimedMutex)</span></strong> &#35201;&#27714;&#25193;&#23637;<a href="cpp-named_req-TimedMutex.html"><span style="font-style:italic">&#23450;&#26102;&#20114;&#26021;&#20307;</span> <span style="font-family: Georgia, &#39;DejaVu Serif&#39;, serif; font-style:italic">(TimedMutex)</span></a> &#35201;&#27714;&#20197;&#21253;&#21547;&#20849;&#20139;&#38145;&#25152;&#26377;&#26435;&#27169;&#24335;&#12290;</p>
<h3><span class="mw-headline" id=".E8.A6.81.E6.B1.82">&#35201;&#27714;</span></h3>
<ul>
<li><a href="cpp-named_req-TimedMutex.html"><span style="font-style:italic">&#23450;&#26102;&#20114;&#26021;&#20307;</span> <span style="font-family: Georgia, &#39;DejaVu Serif&#39;, serif; font-style:italic">(TimedMutex)</span></a></li>
<li><a href="cpp-named_req-SharedMutex.html"><span style="font-style:italic">&#20849;&#20139;&#20114;&#26021;&#20307;</span> <span style="font-family: Georgia, &#39;DejaVu Serif&#39;, serif; font-style:italic">(SharedMutex)</span></a></li>
</ul>
<p>&#21478;&#22806;&#65292;&#23545;&#20110;&#25903;&#25345;&#23450;&#26102;&#20849;&#20139;&#25805;&#20316;&#30340;<span style="font-style:italic">&#20849;&#20139;&#23450;&#26102;&#20114;&#26021;&#20307;</span> <span style="font-family: Georgia, &#39;DejaVu Serif&#39;, serif; font-style:italic">(SharedTimedMutex)</span> &#31867;&#22411;&#23545;&#35937; <code><b>m</b></code> &#65306;</p>
<ul>
<li>&#34920;&#36798;&#24335; <span class="t-c"><span class="mw-geshi cpp source-cpp">m.<span class="me1">try_lock_shared_for</span><span class="br0">(</span>duration<span class="br0">)</span></span></span> &#25317;&#26377;&#19979;&#21015;&#23646;&#24615;</li>
</ul>
<dl>
<dd>
<ul>
<li>&#34920;&#29616;&#20026;&#21407;&#23376;&#25805;&#20316;&#12290;</li>
<li>&#35797;&#22270;&#22312; <code>duration</code> &#25152;&#25351;&#23450;&#30340;&#26102;&#24120;&#20869;&#33719;&#24471;&#20114;&#26021;&#30340;&#20849;&#20139;&#25152;&#26377;&#26435;&#12290;&#33509; <code>duration</code> &#23567;&#20110;&#25110;&#31561;&#20110; <code>duration.zero()</code> &#65292;&#21017;&#35797;&#22270;&#33719;&#24471;&#25152;&#26377;&#26435;&#32780;&#19981;&#38459;&#22622;&#65288;&#22914;&#21516;&#29992; <code>try_lock()</code> &#65289;&#12290;&#21542;&#21017;&#65292;&#27492;&#20989;&#25968;&#23558;&#38459;&#22622;&#30452;&#33267;&#24471;&#21040;&#20114;&#26021;&#65292;&#25110;&#30452;&#33267;&#32463;&#36807; <code>duration</code> &#25152;&#25351;&#23450;&#30340;&#26102;&#38271;&#12290;&#23427;&#20165;&#33509;&#25104;&#21151;&#25165;&#22312; <code>duration</code> &#20869;&#36820;&#22238;&#65292;&#20294;&#20801;&#35768;&#33719;&#24471;&#20114;&#26021;&#22833;&#36133;&#65292;&#21363;&#20351;&#22312; <code>duration</code> &#26399;&#38388;&#30340;&#26576;&#28857;&#65292;&#20114;&#26021;&#19981;&#20026;&#21478;&#19968;&#32447;&#31243;&#25152;&#21344;&#26377;&#12290;&#20219;&#20309;&#24773;&#20917;&#19979;&#65292;&#33509;&#24471;&#21040;&#20114;&#26021;&#21017;&#36820;&#22238; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw2">true</span></span></span> &#65292;&#21542;&#21017;&#36820;&#22238; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw2">false</span></span></span> &#12290;</li>
<li>&#33509; <code>try_lock_shared_for(duration)</code> &#25104;&#21151;&#65292;&#21017;&#21516;&#19968;&#23545;&#35937;&#19978;&#20808;&#21069;&#30340; <code>unlock()</code> &#25805;&#20316;<i>&#21516;&#27493;&#20110;</i>&#27492;&#25805;&#20316;&#65288;&#31561;&#20215;&#20110;&#37322;&#25918;&#33719;&#24471;&#20869;&#23384;&#39034;&#24207; (<span class="t-lc"><a href="cpp-atomic-memory_order.html">std::memory_order</a></span>) &#65289;&#12290;</li>
<li>&#33509;&#35843;&#29992;&#26041;&#32447;&#31243;&#24050;&#20197;&#20219;&#20309;&#27169;&#24335;&#21344;&#26377;&#20114;&#26021;&#65292;&#21017;&#34892;&#20026;&#26410;&#23450;&#20041;&#12290;</li>
<li>&#25191;&#34892;&#26399;&#38388;&#26102;&#38047;&#12289;&#26102;&#38388;&#28857;&#25110;&#26102;&#38271;&#21487;&#33021;&#25243;&#20986;&#24322;&#24120;&#65288;&#26631;&#20934;&#24211;&#25552;&#20379;&#30340;&#26102;&#38047;&#12289;&#26102;&#38388;&#28857;&#21450;&#26102;&#38271;&#20915;&#19981;&#25243;&#20986;&#65289;&#12290;</li>
<li>&#33509;&#25243;&#20986;&#24322;&#24120;&#65292;&#21017;&#19981;&#33719;&#24471;&#20849;&#20139;&#38145;&#12290;</li>
</ul>
</dd>
</dl>
<ul>
<li>&#34920;&#36798;&#24335; <span class="t-c"><span class="mw-geshi cpp source-cpp">m.<span class="me1">try_lock_shared_until</span><span class="br0">(</span>time_point<span class="br0">)</span></span></span> &#25317;&#26377;&#19979;&#21015;&#23646;&#24615;</li>
</ul>
<dl>
<dd>
<ul>
<li>&#34920;&#29616;&#20026;&#21407;&#23376;&#25805;&#20316;&#12290;</li>
<li>&#35797;&#22270;&#22312; <code>time_point</code> &#21069;&#21097;&#20313;&#30340;&#26102;&#38388;&#20869;&#33719;&#24471;&#20114;&#26021;&#30340;&#20849;&#20139;&#25152;&#26377;&#26435;&#12290;&#33509;&#24050;&#32463;&#36807; <code>time_point</code> &#65292;&#21017;&#35797;&#22270;&#33719;&#24471;&#25152;&#26377;&#26435;&#32780;&#19981;&#38459;&#22622;&#65288;&#22914;&#21516;&#29992; <code>try_lock()</code> &#65289;&#12290;&#21542;&#21017;&#65292;&#27492;&#20989;&#25968;&#23558;&#38459;&#22622;&#30452;&#33267;&#24471;&#21040;&#20114;&#26021;&#65292;&#25110;&#30452;&#33267;&#32463;&#36807; <code>time_point</code> &#25152;&#21046;&#23450;&#30340;&#26102;&#38388;&#28857;&#12290;&#23427;&#20165;&#33509;&#25104;&#21151;&#25165;&#22312; <code>time_point</code> &#21069;&#36820;&#22238;&#65292;&#20294;&#20801;&#35768;&#33719;&#24471;&#20114;&#26021;&#22833;&#36133;&#65292;&#21363;&#20351;&#22312; <code>time_point</code> &#21069;&#30340;&#26576;&#28857;&#65292;&#20114;&#26021;&#19981;&#20026;&#21478;&#19968;&#32447;&#31243;&#25152;&#21344;&#26377;&#12290;&#20219;&#20309;&#24773;&#20917;&#19979;&#65292;&#33509;&#24471;&#21040;&#20114;&#26021;&#21017;&#36820;&#22238; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw2">true</span></span></span> &#65292;&#21542;&#21017;&#36820;&#22238; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw2">false</span></span></span> &#12290;</li>
<li>&#33509; <code>try_lock_shared_until(time_point)</code> &#25104;&#21151;&#65292;&#21017;&#21516;&#19968;&#23545;&#35937;&#19978;&#20808;&#21069;&#30340; <code>unlock()</code> &#25805;&#20316;<i>&#21516;&#27493;&#20110;</i>&#27492;&#25805;&#20316;&#65288;&#31561;&#20215;&#20110;&#37322;&#25918;&#33719;&#24471;&#20869;&#23384;&#39034;&#24207; (<span class="t-lc"><a href="cpp-atomic-memory_order.html">std::memory_order</a></span>) &#65289;&#12290;</li>
<li>&#33509;&#35843;&#29992;&#26041;&#32447;&#31243;&#24050;&#20197;&#20219;&#20309;&#27169;&#24335;&#21344;&#26377;&#20114;&#26021;&#65292;&#21017;&#34892;&#20026;&#26410;&#23450;&#20041;&#12290;</li>
<li>&#25191;&#34892;&#26399;&#38388;&#26102;&#38047;&#12289;&#26102;&#38388;&#28857;&#25110;&#26102;&#38271;&#21487;&#33021;&#25243;&#20986;&#24322;&#24120;&#65288;&#26631;&#20934;&#24211;&#25552;&#20379;&#30340;&#26102;&#38047;&#12289;&#26102;&#38388;&#28857;&#21450;&#26102;&#38271;&#20915;&#19981;&#25243;&#20986;&#65289;&#12290;</li>
<li>&#33509;&#25243;&#20986;&#24322;&#24120;&#65292;&#21017;&#19981;&#33719;&#24471;&#20849;&#20139;&#38145;&#12290;</li>
</ul>
</dd>
</dl>
<h3><span class="mw-headline" id=".E5.BA.93.E7.B1.BB.E5.9E.8B">&#24211;&#31867;&#22411;</span></h3>
<p>&#19979;&#21015;&#26631;&#20934;&#24211;&#31867;&#22411;&#28385;&#36275;<strong class="selflink"><span style="font-style:italic">&#20849;&#20139;&#23450;&#26102;&#20114;&#26021;&#20307;</span> <span style="font-family: Georgia, &#39;DejaVu Serif&#39;, serif; font-style:italic">(SharedTimedMutex)</span></strong> &#65306;</p>
<ul>
<li><span class="t-lc"><a href="cpp-thread-shared_timed_mutex.html">std::shared_timed_mutex</a></span></li>
</ul>
<h3><span class="mw-headline" id=".E5.8F.82.E9.98.85">&#21442;&#38405;</span></h3>
<ul>
<li><a href="cpp-thread.html">&#32447;&#31243;&#25903;&#25345;&#24211;</a></li>
<li><a href="cpp-named_req-Mutex.html"><span style="font-style:italic">&#20114;&#26021;&#20307;</span> <span style="font-family: Georgia, &#39;DejaVu Serif&#39;, serif; font-style:italic">(Mutex)</span></a></li>
<li><a href="cpp-named_req-TimedMutex.html"><span style="font-style:italic">&#23450;&#26102;&#20114;&#26021;&#20307;</span> <span style="font-family: Georgia, &#39;DejaVu Serif&#39;, serif; font-style:italic">(TimedMutex)</span></a></li>
<li><a href="cpp-named_req-SharedMutex.html"><span style="font-style:italic">&#20849;&#20139;&#20114;&#26021;&#20307;</span> <span style="font-family: Georgia, &#39;DejaVu Serif&#39;, serif; font-style:italic">(SharedMutex)</span></a></li>
</ul>
</div>
<div class="visualClear"></div>
</div>
</div>
</div>
</body>
</html>