<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Asio und Completion-Handlers]]></title><description><![CDATA[<p>Hallo</p>
<p>wollte die Frage nicht in <a href="http://www.c-plusplus.net/forum/309922" rel="nofollow">pumuckls Thread</a> stellen.</p>
<p>theta schrieb:</p>
<blockquote>
<p>Wenn io_service::run() nur von genau einem Thread angetrieben wird, werden auch die Handler nur genau auf diesem Thread ausgeführt.</p>
</blockquote>
<p>Was ist wenn ein Handler sehr lange braucht und währenddessen mehrere Events gefeuert werden bzw. kann das io_service-Objekt noch Events feuern? Wie verhält sich Asio?</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/309956/asio-und-completion-handlers</link><generator>RSS for Node</generator><lastBuildDate>Wed, 05 Aug 2026 02:13:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/309956.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 31 Oct 2012 11:59:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Asio und Completion-Handlers on Wed, 31 Oct 2012 11:59:33 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>wollte die Frage nicht in <a href="http://www.c-plusplus.net/forum/309922" rel="nofollow">pumuckls Thread</a> stellen.</p>
<p>theta schrieb:</p>
<blockquote>
<p>Wenn io_service::run() nur von genau einem Thread angetrieben wird, werden auch die Handler nur genau auf diesem Thread ausgeführt.</p>
</blockquote>
<p>Was ist wenn ein Handler sehr lange braucht und währenddessen mehrere Events gefeuert werden bzw. kann das io_service-Objekt noch Events feuern? Wie verhält sich Asio?</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2265896</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2265896</guid><dc:creator><![CDATA[asioner]]></dc:creator><pubDate>Wed, 31 Oct 2012 11:59:33 GMT</pubDate></item><item><title><![CDATA[Reply to Asio und Completion-Handlers on Wed, 31 Oct 2012 12:27:13 GMT]]></title><description><![CDATA[<p>asioner schrieb:</p>
<blockquote>
<p>wenn ein Handler sehr lange braucht und währenddessen mehrere Events gefeuert werden</p>
</blockquote>
<p>Wenn der Handler nicht selber die &quot;Events feuert&quot; (d.h. irgendwelche async_<em>-Funktionen aufruft) dann gibts in meinem Fall kein &quot;Währenddessen&quot;. Bei mehreren Threads, die async_</em> auf dem selben io_service Objekt aufrufen, kann das aber natürlich sein.</p>
<p>Wie man sich den io_service vorstellen muss: neben den Möglichkeiten für den ganzen async_*-Krempel hat der io_service eine queue an &quot;ToDo-Objekten&quot;, die entweder direkt per post() an die queue gehängt werden, oder aber wenn eine asynchrone Operation fertig ist, dann wird der übergebene Handler mit seinen Argumenten an die queue gehängt. Wenn jetzt ein Handler oder ein anderes der &quot;ToDo-Objekte&quot; extrem lange braucht, kann es eben sein, dass die queue ordentlich wächst. Im schlimmsten Fall wächst sie im Schnitt schneller als der Thread mit dem io_service::run()-Aufruf sie abarbeiten kann, dann dauert das Programm eine kleine Ewigkeit, laggt und macht irgendwann wegen Speicherproblemen die Grätsche (Die ToDo-Objekte brauchen auch Speicher.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2265904</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2265904</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 31 Oct 2012 12:27:13 GMT</pubDate></item></channel></rss>