Click here to Skip to main content
15,897,334 members
Articles / Programming Languages / C++

Cross thread calls in native C++

Rate me:
Please Sign up or sign in to vote.
4.85/5 (38 votes)
19 Jul 2007Apache20 min read 118.2K   1.2K   96  
An article which discusses the need for synchronization in multi-threaded applications, and features a generic framework for making calls across threads: ThreadSynch.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ThreadSynch: ThreadSynch::CallSchedulingFailedException Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.1-p1 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
  </ul></div>
<div class="tabs">
  <ul>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul></div>
<div class="nav">
<a class="el" href="namespace_thread_synch.html">ThreadSynch</a>::<a class="el" href="class_thread_synch_1_1_call_scheduling_failed_exception.html">CallSchedulingFailedException</a></div>
<h1>ThreadSynch::CallSchedulingFailedException Class Reference</h1><!-- doxytag: class="ThreadSynch::CallSchedulingFailedException" -->thrown when some undefined factor stops the scheduled call from running. <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Todo: Improve on the base exception class, to provide better message passing options </dd></dl>
 
<a href="#_details">More...</a>
<p>
<code>#include &lt;CallSchedulerExceptions.h&gt;</code>
<p>
<a href="class_thread_synch_1_1_call_scheduling_failed_exception-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_thread_synch_1_1_call_scheduling_failed_exception.html#0150c4355f70edf193101e1672d282f0">CallSchedulingFailedException</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_thread_synch_1_1_call_scheduling_failed_exception.html#21c87b7603b110f4d4a6525d27e970b5">CallSchedulingFailedException</a> (const char *const &amp;_What)</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
thrown when some undefined factor stops the scheduled call from running. <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Todo: Improve on the base exception class, to provide better message passing options </dd></dl>

<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="0150c4355f70edf193101e1672d282f0"></a><!-- doxytag: member="ThreadSynch::CallSchedulingFailedException::CallSchedulingFailedException" ref="0150c4355f70edf193101e1672d282f0" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ThreadSynch::CallSchedulingFailedException::CallSchedulingFailedException           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="21c87b7603b110f4d4a6525d27e970b5"></a><!-- doxytag: member="ThreadSynch::CallSchedulingFailedException::CallSchedulingFailedException" ref="21c87b7603b110f4d4a6525d27e970b5" args="(const char *const &amp;_What)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ThreadSynch::CallSchedulingFailedException::CallSchedulingFailedException           </td>
          <td>(</td>
          <td class="paramtype">const char *const &amp;&nbsp;</td>
          <td class="paramname"> <em>_What</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>ThreadSynch/<a class="el" href="_call_scheduler_exceptions_8h.html">CallSchedulerExceptions.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 13 23:06:21 2007 for ThreadSynch by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1-p1 </small></address>
</body>
</html>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Apache License, Version 2.0


Written By
Software Developer
Norway Norway
My name is Einar Otto Stangvik, and I'm a programmer based in Oslo, Norway. I mainly develop applications and software architectures targetting C++ on the Windows platform, but I have also got experience doing the same on Unix and Linux. The last few years I've used C# a lot, but native C++ is still my main focus.


As of July 2008, I'm a Microsoft MVP for Visual C++.


Follow me on Twitter: @einaros
My code blog: einaros.blogspot.com
My site: www.indev.no

Comments and Discussions