C parallele Ausführung



  • Es gibt keine einfache Loesung in C. Threads sind Aufgabe des Betriebssystems und die betriebssystemspezifische API muss genutzt werden. Mit C11 hat sich das etwas geaendert, ist aber unter Windows nicht verfuegbar.


  • Mod

    Age schrieb:

    Also bevor ich in ein Forum schreibe, versuche ich doch vorher etwas rauszufinden oder?

    Ja, du solltest versuchen das Problem vorher selbstständig zu lösen und immer mitzudenken, wenn dir Antworten gegeben werden.

    Ich weiß was Task/Threads/Queues/Semaphoren/ Mutex sind ich habe nur gedacht in einem Forum könnte man eine einfache schnelle Lösung finden. Da sich in mein Problem ja nur um zwei Funktionen handelt

    Das ist aber eben nicht so einfach, das wüsstest du doch auch, wenn du weißt, was Threads sind und wie man sie ungefähr benutzt. Wenn du hier konkret einen Versuch gezeigt hättest, der nicht funktioniert, dann könnte man dir auch konkret helfen. Derzeit gibt es einfach viel zu viele unbeantwortete Gegenfragen, um dir helfen zu können.
    Oder um dir eine konkrete Antwort zu geben:
    Es gibt keine Funktion wie

    magische_parallele_ausführung_immer_genau_so_wie_ich_es_haben_möchte(fahren, scannen);
    


  • Mir hart das Tutorial am anfang ziemlich geholfen, ich weiß nur grad nicht wie mans verlinkt.

    Such einfach mal "openmp tutorial" bei google und dann ists gleich der erste link, ziemlich gut beschrieben find ich!



  • nippler92 schrieb:

    ich weiß nur grad nicht wie mans verlinkt.

    Z.b. so? https://computing.llnl.gov/tutorials/openMP/



  • nööö, das mein ich 😛
    nachdenken hilfe, ich weiß 🙂
    www.bero-software.de/tutorials_programming/omp.pdf



  • Was habt ihr denn für unbeantwortete Gegenfragen?

    Also ich kenne das ganze Multitasking nur in Verbindung mit FreeRTOS.
    Ich dachte evtl gibt es eine elegante Lösung für einfache 2 Funktionen ohne viel Aufwand.

    Ich benutze Win 7/ VS2005
    Eigentlich habe ich in Matlab programiert, das dann die exe aufruft aber so funktioniert das leider nicht parallel sondern nacheinander. Es gibt zwar eine Toolbox dafür, diese ist aber zu teuer.

    Deswegen wollte ich es in C weiter probieren da ein Teil der Software eh schon in c ist.
    ich bin kein Held in diesem Multithreading aus diesem grund wollte ich es so einfach wie möglich.

    http://skript.eit.h-da.de/rzs/Docu/FreeRTOS_Documentation/modules.html

    Benötige ich Prioritäten und Queues? Eigentlich nicht oder?



  • Age schrieb:

    Was habt ihr denn für unbeantwortete Gegenfragen?

    [...]

    Benötige ich Prioritäten und Queues? Eigentlich nicht oder?

    Wahrscheinlich nicht. Aber das musst Du doch selbst wissen!
    Sollen Deine beiden Funktionen nur jeweils einmal ausgeführt werden oder in einer Schleife immer und immer wieder?
    Falls letzteres, soll das Programm überhaupt eine Möglichkeit haben, geordnet zum Ende zu kommen?
    Ansonsten, wie oben schon gesagt, für Windows:
    _beginthread, bzw. _beginthreadex


  • Mod

    OpenMP ist aber sicher gerade nicht das, was der Threadersteller sucht. Er sucht wahrscheinlich eine feingesteuerte Parallelisierung auf Thread- oder Prozessebene (ist leider etwas unklar), keine halbautomatische Parallelisierung von Schleifen. Es gibt nun einmal ungeheuer viele Möglichkeiten der Parallelisierung, daher ist die Frage nicht direkt beantwortbar.



  • Wie gesagt ich programmiere in C nicht in C++.

    Die beiden aufgerufenen Funktionen sollen gemeinsam anfangen und gemeinsam enden.

    Es soll während einer Bewegung ein Scan ausgeführt werden.



  • Ich habe meine beiden Softwarstücke bereits fertig es geht lediglich nur noch um die parallele Ausführung der beiden Komponenten.



  • Wie gesagt ich programmiere in C nicht in C++.



  • lol



  • Was ist daran jetzt lustig? Ich dachte für so etwas ist ein Forum da!


  • Mod

    Age schrieb:

    Wie gesagt ich programmiere in C nicht in C++.

    Age schrieb:

    Was ist daran jetzt lustig? Ich dachte für so etwas ist ein Forum da!

    Du weißt, dass ich deine IP-Adresse sehen und mit anderen Forennutzern verknüpfen kann?

    @andere: Das ist (höchstwahrscheinlich) nicht der OP.



  • ...



  • Swordfish schrieb:

    // @the other guy: Nein, "Meingott" ist hier keine Anrede.

    okay, ich wollte erst antworten aber wenns eh nicht anerkannt wird lass ich es eben bleiben. 🤡



  • ...



  • Du weißt, dass ich deine IP-Adresse sehen und mit anderen Forennutzern verknüpfen kann?

    verstehe nicht den Zusammenhang? Was willst du mir damit sagen?

    Ich habe ein Musterbeispiel gefunden das mir weiterhilft.

    Danke


Anmelden zum Antworten