<?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[Instanze an Thread übergeben]]></title><description><![CDATA[<p>Servus,</p>
<p>Ist es möglich das ich an einen Thread eine Instanz übergeben. Also etwa so:</p>
<pre><code class="language-cpp">void *setElements() {
     while(true) {
        mk-&gt;setElementsToMatrix();
     }
}

int main(int argc, char *argv[]) {
    MatrixKlasse *mk = new MatrixKlasse(...);
    int iret1 = pthread_create(&amp;thread_ViewMatrix, Null, setElements, mk);
}
</code></pre>
<p>Bei dem ganzen geht es um einen Roboter der sich bewegt. Und so lange er sich bewegt soll alles was er sieht in eine Matrix übertragen werden. Die Matrix ist in der Instance mk und soll ständig durch die Funktion setElementsToMatrix beschrieben werden. Wenn der Roboter nichts mehr zu sehen hat soll er anhalten und ich lasse mir von meiner Funktion mk-&gt;wenigGesehen die Felder zurückgeben die ich am wenigsten oft gesehen habe.<br />
Kann mir da einer helfen, oder ist mein Ansatz mit dem Thread und der Instanze schon total doof?</p>
<p>Dank und Gruß<br />
flambert</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/231462/instanze-an-thread-übergeben</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 21:20:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/231462.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 11 Jan 2009 10:50:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Instanze an Thread übergeben on Sun, 11 Jan 2009 10:50:42 GMT]]></title><description><![CDATA[<p>Servus,</p>
<p>Ist es möglich das ich an einen Thread eine Instanz übergeben. Also etwa so:</p>
<pre><code class="language-cpp">void *setElements() {
     while(true) {
        mk-&gt;setElementsToMatrix();
     }
}

int main(int argc, char *argv[]) {
    MatrixKlasse *mk = new MatrixKlasse(...);
    int iret1 = pthread_create(&amp;thread_ViewMatrix, Null, setElements, mk);
}
</code></pre>
<p>Bei dem ganzen geht es um einen Roboter der sich bewegt. Und so lange er sich bewegt soll alles was er sieht in eine Matrix übertragen werden. Die Matrix ist in der Instance mk und soll ständig durch die Funktion setElementsToMatrix beschrieben werden. Wenn der Roboter nichts mehr zu sehen hat soll er anhalten und ich lasse mir von meiner Funktion mk-&gt;wenigGesehen die Felder zurückgeben die ich am wenigsten oft gesehen habe.<br />
Kann mir da einer helfen, oder ist mein Ansatz mit dem Thread und der Instanze schon total doof?</p>
<p>Dank und Gruß<br />
flambert</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1643269</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1643269</guid><dc:creator><![CDATA[flambert]]></dc:creator><pubDate>Sun, 11 Jan 2009 10:50:42 GMT</pubDate></item><item><title><![CDATA[Reply to Instanze an Thread übergeben on Sun, 11 Jan 2009 10:59:49 GMT]]></title><description><![CDATA[<p>warum zwei threads?<br />
ist der eine die steuerung und die läuft ständig, also mit polling der sensoren, und der andere macht ein-ausgabe zum user?</p>
<p>dann wären die geeigneten mittel pipes oder zur not auch sockets oder semaphorengesteuerte container.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1643274</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1643274</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 11 Jan 2009 10:59:49 GMT</pubDate></item><item><title><![CDATA[Reply to Instanze an Thread übergeben on Sun, 11 Jan 2009 11:22:31 GMT]]></title><description><![CDATA[<p>Ich muss zugeben das ich mit c++ noch nicht so viel gemacht habe. Aber mein Problem ist auch die Zeit. Mal in kürze zu meinem Programm:<br />
-Ich gebe dem Roboter eine Zahl von Punkten vor die er abfahren soll.<br />
-Während er die Punkte abfährt merkt er sich über die Funktion &quot;setElementsToMatrix()&quot; alles gesehene in einer Matrix in der Instanze &quot;mk&quot;.<br />
-Wenn der Roboter im Hauptprogramm alle Punkt abgefahren hat soll der Thread beendet werden.<br />
-Dann rufe ich eine andere Funktion von mk auf. Sowas wie &quot;mk-&gt;WoWarIchNochNicht()&quot;.<br />
-Dann fängt alles von vorne an. Nur eben mit einer anderen Liste von Punkten.</p>
<p>Das ganze würde ich gerne so einfach wie möglich Lösen. Ich habe auch kein Problem mit den Zugriffsrechten oder Thread-Stabilität da ich alles immer schließe bevor ich es auswerte.</p>
<p>Ist das vernünftig, oder bin ich mit Threads doch auf dem ganz falschen Dampfer?</p>
<p>Gruss<br />
flambert</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1643285</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1643285</guid><dc:creator><![CDATA[flambert]]></dc:creator><pubDate>Sun, 11 Jan 2009 11:22:31 GMT</pubDate></item><item><title><![CDATA[Reply to Instanze an Thread übergeben on Sun, 11 Jan 2009 11:55:13 GMT]]></title><description><![CDATA[<p>flambert schrieb:</p>
<blockquote>
<p>Ist das vernünftig, oder bin ich mit Threads doch auf dem ganz falschen Dampfer?</p>
</blockquote>
<p>ja, ist wohl der falsche dampfer.<br />
das rumfahren ist nur ne funktion mit ner schleife drin.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1643300</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1643300</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 11 Jan 2009 11:55:13 GMT</pubDate></item><item><title><![CDATA[Reply to Instanze an Thread übergeben on Sun, 11 Jan 2009 14:48:36 GMT]]></title><description><![CDATA[<p>Vielleicht reicht meine Pseudo Code Erklärung auch noch nicht. Ich versuche es mal nochmal:</p>
<pre><code class="language-cpp">void *setElements() {
     while(true) {
        mk-&gt;setElementsToMatrix();
     }
}

int main(int argc, char *argv[]) {
    MatrixKlasse *mk = new MatrixKlasse(...);

    int iret1 = pthread_create(&amp;thread_ViewMatrix, Null, setElements, mk);

    for(int i=0;i&lt;length(PunkteListe);i++)
    {
        while(Roboter den Punkt noch nicht erreicht hat)
        {
            Roboter fahre zu Punkt PunkteListe[i]
        }
    }

    thread_ViewMatrix stop;
    NeuePunkteListe=mk-&gt;gibMirPunkteAnDenenIchNochNichtWar();
    thread_ViewMatrix start;

    for(int i=0;i&lt;length(NeuePunkteListe);i++)
    {
        while(Roboter den Punkt noch nicht erreicht hat)
        {
            Roboter fahre zu Punkt PunkteListe[i]
        }
    }

}
</code></pre>
<p>Kann man das besser verstehen? Ich bin nicht so gut im Erklären.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1643391</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1643391</guid><dc:creator><![CDATA[flambert]]></dc:creator><pubDate>Sun, 11 Jan 2009 14:48:36 GMT</pubDate></item></channel></rss>