<?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 Futures]]></title><description><![CDATA[<p>Hi,<br />
ich sitz gerade auf dem schlauch.. bisher mache ich in etwa folgendes wenn ich futures benutze:</p>
<pre><code class="language-cpp">boost::packaged_task&lt;int&gt; pt(calc_something);
boost::unique_future&lt;int&gt; fi=pt.get_future();

//bisher:
boost::thread task(boost::move(pt));

// bla

result = 2*fi.get();
</code></pre>
<p>Allerdings möchte ich jetzt dass sich z.B. zwei &quot;worker-threads&quot; unter anderem um anfallende futures kümmern. Ich dachte also ich mache das am besten mit asio, das habe ich auch schon an anderer stelle genutzt und gefällt mir ganz gut. Aber irgendwie steh ich grad auf dem Schlauch:</p>
<pre><code class="language-cpp">//irgendwo gibts mal sowas:
asio::io_service io_service;
asio::io_service::work work(io_service);
// dann bekommt der io_service noch ein paar threads die io_service::run ausführen

//irgendwoanders habe ich wieder mein future/packaged_task pt und fi, aber
//das hier (und anderes) anstelle der thread-erstellung wie oben geht leider nicht:
io_service.post(pt); /*oder*/ io_service.post(boost::move(pt));
</code></pre>
<p>Ich komme leider grad auf keinen grünen zweig. Hat jemand nen Tip für mich wie ich das machen könnte?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/269475/asio-und-futures</link><generator>RSS for Node</generator><lastBuildDate>Mon, 31 Aug 2026 03:22:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/269475.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 25 Jun 2010 14:17:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Asio und Futures on Fri, 25 Jun 2010 14:17:01 GMT]]></title><description><![CDATA[<p>Hi,<br />
ich sitz gerade auf dem schlauch.. bisher mache ich in etwa folgendes wenn ich futures benutze:</p>
<pre><code class="language-cpp">boost::packaged_task&lt;int&gt; pt(calc_something);
boost::unique_future&lt;int&gt; fi=pt.get_future();

//bisher:
boost::thread task(boost::move(pt));

// bla

result = 2*fi.get();
</code></pre>
<p>Allerdings möchte ich jetzt dass sich z.B. zwei &quot;worker-threads&quot; unter anderem um anfallende futures kümmern. Ich dachte also ich mache das am besten mit asio, das habe ich auch schon an anderer stelle genutzt und gefällt mir ganz gut. Aber irgendwie steh ich grad auf dem Schlauch:</p>
<pre><code class="language-cpp">//irgendwo gibts mal sowas:
asio::io_service io_service;
asio::io_service::work work(io_service);
// dann bekommt der io_service noch ein paar threads die io_service::run ausführen

//irgendwoanders habe ich wieder mein future/packaged_task pt und fi, aber
//das hier (und anderes) anstelle der thread-erstellung wie oben geht leider nicht:
io_service.post(pt); /*oder*/ io_service.post(boost::move(pt));
</code></pre>
<p>Ich komme leider grad auf keinen grünen zweig. Hat jemand nen Tip für mich wie ich das machen könnte?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1917300</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1917300</guid><dc:creator><![CDATA[aufdemschlauch]]></dc:creator><pubDate>Fri, 25 Jun 2010 14:17:01 GMT</pubDate></item><item><title><![CDATA[Reply to Asio und Futures on Mon, 28 Jun 2010 09:34:23 GMT]]></title><description><![CDATA[<p>packaged_task ist noncopyable von daher kann man das in einen shared_ptr packen und mit bind übergeben</p>
<pre><code class="language-cpp">io_service.post(boost::bind(&amp;boost::packaged_task&lt;int&gt;::operator(), pt));
</code></pre>
<p>Allerdings bin ich noch nicht drauf gekommen warum das nicht auch einfach mit move geht... Irgendwer?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1918286</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1918286</guid><dc:creator><![CDATA[Hirion]]></dc:creator><pubDate>Mon, 28 Jun 2010 09:34:23 GMT</pubDate></item></channel></rss>