mirror of
https://github.com/CDevJoud/Minecraft-Community-Edition.git
synced 2026-07-16 05:20:56 +00:00
420 lines
23 KiB
HTML
420 lines
23 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
<meta name="generator" content="Doxygen 1.16.1"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>Minecraft Community Edition: mce::ThreadManager Class Reference</title>
|
|
<link rel="icon" href="logo channel.png" type="image/x-icon" />
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<script type="text/javascript" src="clipboard.js"></script>
|
|
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="navtreedata.js"></script>
|
|
<script type="text/javascript" src="navtree.js"></script>
|
|
<script type="text/javascript" src="cookie.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr id="projectrow">
|
|
<td id="projectalign">
|
|
<div id="projectname">Minecraft Community Edition<span id="projectnumber"> 0.1.0</span>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.16.1 -->
|
|
<script type="text/javascript">
|
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
</script>
|
|
<script type="text/javascript">
|
|
$(function() { codefold.init(); });
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search',true);
|
|
$(function() { init_search(); });
|
|
});
|
|
</script>
|
|
<div id="main-nav"></div>
|
|
</div><!-- top -->
|
|
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
<div id="nav-tree">
|
|
<div id="nav-tree-contents">
|
|
<div id="nav-sync" class="sync"></div>
|
|
</div>
|
|
</div>
|
|
<div id="splitbar" style="-moz-user-select:none;"
|
|
class="ui-resizable-handle">
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
$(function(){initNavTree('classmce_1_1_thread_manager.html','','classmce_1_1_thread_manager-members'); });
|
|
</script>
|
|
<div id="container">
|
|
<div id="doc-content">
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<div id="MSearchResults">
|
|
<div class="SRPage">
|
|
<div id="SRIndex">
|
|
<div id="SRResults"></div>
|
|
<div class="SRStatus" id="Loading">Loading...</div>
|
|
<div class="SRStatus" id="Searching">Searching...</div>
|
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="header">
|
|
<div class="headertitle"><div class="title">mce::ThreadManager Class Reference</div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 id="header-nested-classes" class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
Classes</h2></td></tr>
|
|
<tr class="memitem:ThreadInfo" id="r_ThreadInfo"><td class="memItemLeft">struct  </td><td class="memItemRight"><a class="el" href="structmce_1_1_thread_manager_1_1_thread_info.html">ThreadInfo</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Metadata stored per managed thread. <a href="structmce_1_1_thread_manager_1_1_thread_info.html#details">More...</a><br /></td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 id="header-pub-methods" class="groupheader"><a id="pub-methods" name="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:a44af86c56b28fdcb5aeadfee871d3773" id="r_a44af86c56b28fdcb5aeadfee871d3773"><td class="memItemLeft"> </td><td class="memItemRight"><a class="el" href="#a44af86c56b28fdcb5aeadfee871d3773">ThreadManager</a> (<a class="el" href="classmce_1_1_q_event_bus.html">QEventBus</a> &qBus)</td></tr>
|
|
<tr class="memdesc:a44af86c56b28fdcb5aeadfee871d3773"><td class="mdescLeft"> </td><td class="mdescRight">Construct a <a class="el" href="classmce_1_1_thread_manager.html">ThreadManager</a> bound to a <a class="el" href="classmce_1_1_q_event_bus.html" title="Thread-safe event bus.">QEventBus</a>. <br /></td></tr>
|
|
<tr class="memitem:a10b8efbe312127af02418c3942b0e7b6" id="r_a10b8efbe312127af02418c3942b0e7b6"><td class="memItemLeft"><a id="a10b8efbe312127af02418c3942b0e7b6" name="a10b8efbe312127af02418c3942b0e7b6"></a>
|
|
 </td><td class="memItemRight"><b>~ThreadManager</b> ()</td></tr>
|
|
<tr class="memdesc:a10b8efbe312127af02418c3942b0e7b6"><td class="mdescLeft"> </td><td class="mdescRight">Destructor cleans up managed threads and subscriptions. <br /></td></tr>
|
|
<tr class="memitem:a3cfaaa1edb1dd0ded4a99553972cd93c" id="r_a3cfaaa1edb1dd0ded4a99553972cd93c"><td class="memTemplParams" colspan="2">template<typename F> </td></tr>
|
|
<tr class="memitem:a3cfaaa1edb1dd0ded4a99553972cd93c template"><td class="memItemLeft"><a class="el" href="classmce_1_1_thread.html">Thread</a> * </td><td class="memItemRight"><a class="el" href="#a3cfaaa1edb1dd0ded4a99553972cd93c">createThread</a> (const eastl::string &name, F func)</td></tr>
|
|
<tr class="memdesc:a3cfaaa1edb1dd0ded4a99553972cd93c"><td class="mdescLeft"> </td><td class="mdescRight">Create (and store) a <a class="el" href="classmce_1_1_thread.html" title="Lightweight high-level thread wrapper.">Thread</a> from a generic callable. <br /></td></tr>
|
|
<tr class="memitem:a07cbeefe7d5b5d4845e0b2f1e59fef21" id="r_a07cbeefe7d5b5d4845e0b2f1e59fef21"><td class="memTemplParams" colspan="2">template<typename C> </td></tr>
|
|
<tr class="memitem:a07cbeefe7d5b5d4845e0b2f1e59fef21 template"><td class="memItemLeft"><a class="el" href="classmce_1_1_thread.html">Thread</a> * </td><td class="memItemRight"><a class="el" href="#a07cbeefe7d5b5d4845e0b2f1e59fef21">createThread</a> (const eastl::string &name, void(C::*func)(), C *object)</td></tr>
|
|
<tr class="memdesc:a07cbeefe7d5b5d4845e0b2f1e59fef21"><td class="mdescLeft"> </td><td class="mdescRight">Create (and store) a <a class="el" href="classmce_1_1_thread.html" title="Lightweight high-level thread wrapper.">Thread</a> for a member function on an object. <br /></td></tr>
|
|
<tr class="memitem:ab500bf731fff307e4e7a06928b865167" id="r_ab500bf731fff307e4e7a06928b865167"><td class="memItemLeft">void </td><td class="memItemRight"><a class="el" href="#ab500bf731fff307e4e7a06928b865167">launch</a> (<a class="el" href="classmce_1_1_thread.html">Thread</a> *th)</td></tr>
|
|
<tr class="memdesc:ab500bf731fff307e4e7a06928b865167"><td class="mdescLeft"> </td><td class="mdescRight">Launch a previously created <a class="el" href="classmce_1_1_thread.html" title="Lightweight high-level thread wrapper.">Thread</a> instance. <br /></td></tr>
|
|
<tr class="memitem:ad5e09cdd0695f8587b041a618284b018" id="r_ad5e09cdd0695f8587b041a618284b018"><td class="memItemLeft">void </td><td class="memItemRight"><a class="el" href="#ad5e09cdd0695f8587b041a618284b018">launch</a> (const eastl::string &name)</td></tr>
|
|
<tr class="memdesc:ad5e09cdd0695f8587b041a618284b018"><td class="mdescLeft"> </td><td class="mdescRight">Convenience: launches the thread with the given name. <br /></td></tr>
|
|
<tr class="memitem:a7b58969244f296e97a21656b563cf231" id="r_a7b58969244f296e97a21656b563cf231"><td class="memItemLeft">void </td><td class="memItemRight"><a class="el" href="#a7b58969244f296e97a21656b563cf231">waitAll</a> ()</td></tr>
|
|
<tr class="memdesc:a7b58969244f296e97a21656b563cf231"><td class="mdescLeft"> </td><td class="mdescRight">Block until all managed threads have finished executing. <br /></td></tr>
|
|
<tr class="memitem:a72319f5b2505aa6e0fe75cfdc1231032" id="r_a72319f5b2505aa6e0fe75cfdc1231032"><td class="memItemLeft">void </td><td class="memItemRight"><a class="el" href="#a72319f5b2505aa6e0fe75cfdc1231032">cleanupFinished</a> ()</td></tr>
|
|
<tr class="memdesc:a72319f5b2505aa6e0fe75cfdc1231032"><td class="mdescLeft"> </td><td class="mdescRight">Remove and cleanup finished threads from internal storage. <br /></td></tr>
|
|
<tr class="memitem:a0739a1906bf371bf8a729ab0d0ce4929" id="r_a0739a1906bf371bf8a729ab0d0ce4929"><td class="memItemLeft">void </td><td class="memItemRight"><a class="el" href="#a0739a1906bf371bf8a729ab0d0ce4929">printStats</a> ()</td></tr>
|
|
<tr class="memdesc:a0739a1906bf371bf8a729ab0d0ce4929"><td class="mdescLeft"> </td><td class="mdescRight">Print statistics (e.g. runtime durations) for managed threads. <br /></td></tr>
|
|
<tr class="memitem:a43beb921636d53a6efd22d4ef8982165" id="r_a43beb921636d53a6efd22d4ef8982165"><td class="memItemLeft">size_t </td><td class="memItemRight"><a class="el" href="#a43beb921636d53a6efd22d4ef8982165">activeCount</a> () const</td></tr>
|
|
<tr class="memdesc:a43beb921636d53a6efd22d4ef8982165"><td class="mdescLeft"> </td><td class="mdescRight">Count of currently active (non-finished) threads. <br /></td></tr>
|
|
</table>
|
|
<a name="doc-constructors" id="doc-constructors"></a><h2 id="header-doc-constructors" class="groupheader">Constructor & Destructor Documentation</h2>
|
|
<a id="a44af86c56b28fdcb5aeadfee871d3773" name="a44af86c56b28fdcb5aeadfee871d3773"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a44af86c56b28fdcb5aeadfee871d3773">◆ </a></span>ThreadManager()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">mce::ThreadManager::ThreadManager </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classmce_1_1_q_event_bus.html">QEventBus</a> &</td> <td class="paramname"><span class="paramname"><em>qBus</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel explicit">explicit</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Construct a <a class="el" href="classmce_1_1_thread_manager.html">ThreadManager</a> bound to a <a class="el" href="classmce_1_1_q_event_bus.html" title="Thread-safe event bus.">QEventBus</a>. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">qBus</td><td>Reference to the application's <a class="el" href="classmce_1_1_q_event_bus.html" title="Thread-safe event bus.">QEventBus</a> used to post thread events.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>The <a class="el" href="classmce_1_1_thread_manager.html">ThreadManager</a> subscribes to thread lifecycle events on qBus to maintain accurate bookkeeping. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Member Function Documentation</h2>
|
|
<a id="a43beb921636d53a6efd22d4ef8982165" name="a43beb921636d53a6efd22d4ef8982165"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a43beb921636d53a6efd22d4ef8982165">◆ </a></span>activeCount()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">size_t mce::ThreadManager::activeCount </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Count of currently active (non-finished) threads. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>Number of active threads being tracked. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a72319f5b2505aa6e0fe75cfdc1231032" name="a72319f5b2505aa6e0fe75cfdc1231032"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a72319f5b2505aa6e0fe75cfdc1231032">◆ </a></span>cleanupFinished()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void mce::ThreadManager::cleanupFinished </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Remove and cleanup finished threads from internal storage. </p>
|
|
<p>This method may be used regularly to free resources held for threads that have already completed. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3cfaaa1edb1dd0ded4a99553972cd93c" name="a3cfaaa1edb1dd0ded4a99553972cd93c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3cfaaa1edb1dd0ded4a99553972cd93c">◆ </a></span>createThread() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename F> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classmce_1_1_thread.html">Thread</a> * mce::ThreadManager::createThread </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const eastl::string &</td> <td class="paramname"><span class="paramname"><em>name</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">F</td> <td class="paramname"><span class="paramname"><em>func</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Create (and store) a <a class="el" href="classmce_1_1_thread.html" title="Lightweight high-level thread wrapper.">Thread</a> from a generic callable. </p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">F</td><td>Callable type (lambda, functor or function pointer). </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">name</td><td>Human readable name for the thread. </td></tr>
|
|
<tr><td class="paramname">func</td><td>Callable to execute when the thread runs. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Pointer to the created <a class="el" href="classmce_1_1_thread.html" title="Lightweight high-level thread wrapper.">Thread</a> (owned by <a class="el" href="classmce_1_1_thread_manager.html">ThreadManager</a>).</dd></dl>
|
|
<p>The returned <a class="el" href="classmce_1_1_thread.html" title="Lightweight high-level thread wrapper.">Thread</a> pointer is non-owning; <a class="el" href="classmce_1_1_thread_manager.html">ThreadManager</a> retains ownership in its internal storage (threadStorage). The thread is created but not launched — call <a class="el" href="#ab500bf731fff307e4e7a06928b865167" title="Launch a previously created Thread instance.">launch()</a> to start it. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a07cbeefe7d5b5d4845e0b2f1e59fef21" name="a07cbeefe7d5b5d4845e0b2f1e59fef21"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a07cbeefe7d5b5d4845e0b2f1e59fef21">◆ </a></span>createThread() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename C> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classmce_1_1_thread.html">Thread</a> * mce::ThreadManager::createThread </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const eastl::string &</td> <td class="paramname"><span class="paramname"><em>name</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">void(C::*</td> <td class="paramname"><span class="paramname"><em>func </em></span>)(), </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">C *</td> <td class="paramname"><span class="paramname"><em>object</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Create (and store) a <a class="el" href="classmce_1_1_thread.html" title="Lightweight high-level thread wrapper.">Thread</a> for a member function on an object. </p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">C</td><td>Class type of the target object. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">name</td><td>Human readable name for the thread. </td></tr>
|
|
<tr><td class="paramname">func</td><td>Pointer to the member function to call. </td></tr>
|
|
<tr><td class="paramname">object</td><td>Pointer to the object instance on which to call the member function. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Pointer to the created <a class="el" href="classmce_1_1_thread.html" title="Lightweight high-level thread wrapper.">Thread</a> (owned by <a class="el" href="classmce_1_1_thread_manager.html">ThreadManager</a>).</dd></dl>
|
|
<p>Creates a <a class="el" href="classmce_1_1_thread.html" title="Lightweight high-level thread wrapper.">Thread</a> adapter that will call (object->*func)() when executed. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad5e09cdd0695f8587b041a618284b018" name="ad5e09cdd0695f8587b041a618284b018"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad5e09cdd0695f8587b041a618284b018">◆ </a></span>launch() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void mce::ThreadManager::launch </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const eastl::string &</td> <td class="paramname"><span class="paramname"><em>name</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Convenience: launches the thread with the given name. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">name</td><td>Name of the thread to launch.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>Finds the <a class="el" href="classmce_1_1_thread.html" title="Lightweight high-level thread wrapper.">Thread</a> associated with name and launches it. If multiple threads share the same name behavior depends on underlying container order. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab500bf731fff307e4e7a06928b865167" name="ab500bf731fff307e4e7a06928b865167"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab500bf731fff307e4e7a06928b865167">◆ </a></span>launch() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void mce::ThreadManager::launch </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classmce_1_1_thread.html">Thread</a> *</td> <td class="paramname"><span class="paramname"><em>th</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Launch a previously created <a class="el" href="classmce_1_1_thread.html" title="Lightweight high-level thread wrapper.">Thread</a> instance. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">th</td><td>Pointer to the <a class="el" href="classmce_1_1_thread.html" title="Lightweight high-level thread wrapper.">Thread</a> returned from <a class="el" href="#a3cfaaa1edb1dd0ded4a99553972cd93c" title="Create (and store) a Thread from a generic callable.">createThread()</a>.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>This will call <a class="el" href="classmce_1_1_thread.html#a6857a0007eb44e985a11b76e8b2ab81d" title="Start execution of the stored callable on a new thread.">Thread::launch()</a> on the provided <a class="el" href="classmce_1_1_thread.html" title="Lightweight high-level thread wrapper.">Thread</a> pointer. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a0739a1906bf371bf8a729ab0d0ce4929" name="a0739a1906bf371bf8a729ab0d0ce4929"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0739a1906bf371bf8a729ab0d0ce4929">◆ </a></span>printStats()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void mce::ThreadManager::printStats </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Print statistics (e.g. runtime durations) for managed threads. </p>
|
|
<p>Implementations should format and output info about active/finished threads using the project's logging facilities. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7b58969244f296e97a21656b563cf231" name="a7b58969244f296e97a21656b563cf231"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7b58969244f296e97a21656b563cf231">◆ </a></span>waitAll()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void mce::ThreadManager::waitAll </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Block until all managed threads have finished executing. </p>
|
|
<p>Joins/waits any active threads tracked by this manager. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/>The documentation for this class was generated from the following files:<ul>
|
|
<li>Core/<a class="el" href="_thread_manager_8hpp_source.html">ThreadManager.hpp</a></li>
|
|
<li>Core/<b>ThreadManager.cpp</b></li>
|
|
</ul>
|
|
</div><!-- contents -->
|
|
</div><!-- doc-content -->
|
|
<div id="page-nav" class="page-nav-panel">
|
|
<div id="page-nav-resize-handle"></div>
|
|
<div id="page-nav-tree">
|
|
<div id="page-nav-contents">
|
|
</div><!-- page-nav-contents -->
|
|
</div><!-- page-nav-tree -->
|
|
</div><!-- page-nav -->
|
|
</div><!-- container -->
|
|
<!-- start footer part -->
|
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
<ul>
|
|
<li class="navelem"><b>mce</b></li><li class="navelem"><a href="classmce_1_1_thread_manager.html">ThreadManager</a></li>
|
|
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1 </li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|