Threads, quasi Threads

  • Hallo + schönen Sonntag!


    Gibt es vielleicht eine Möglichkeit, in C "quasi-threads", ohne posix o.ä zu erzeugen?

    Beispielsweise sollte eine Variable von 0 auf 100 laufen, mit der Option, diese Inkrementierung über die Konsole zu stoppen und den stop-wert auszugeben.

    Falls nicht, weiß jemand, wie ich threads in C (nicht C++) unter WinXP erzeuge, und gleichzeitig meine Thread-Funktionen portierbar lasse, um sie später an z.B einen Mikroprozessor anzupassen?

    LG Alex

  • Zitat von sommeralex

    Gibt es vielleicht eine Möglichkeit, in C "quasi-threads", ohne posix o.ä zu erzeugen?

    hmmm... kann ich nicht sagen, ist mir mit meinem bescheidenen Wissen nichts bekannt...

    Zitat

    Beispielsweise sollte eine Variable von 0 auf 100 laufen, mit der Option, diese Inkrementierung über die Konsole zu stoppen und den stop-wert auszugeben.


    Wenns nur darum geht, dann sollte das doch kein Problem sein mit folgender, nicht-gethreadeter Vorgangsweise:
    1. Du zerlegst die Thread-Arbeit, sagen wir Inkrementierungen von 0 auf 100, in mehrere Iterationen und machst bei jedem Aufruf der Iterationsfunktion dort weiter, wo du vorher aufgehört hast.
    2. Jedes Mal, wenn die Iterationsfunktion zurückkommt, behandelst du user inputs und was weiß ich noch alles.
    3. Das ganze in eine while-Schleife verpacken und beenden, wenn die Aufgabe erledigt ist oder der Benutzer abgebrochen hat.

    Kann aber auch sein, dass du aus irgendeinem speziellen Grund, den ich nicht kenne, unbedingt Threads brauchst. Dann kann ich dazu nichts sagen.

    "Egbert B. Gebstadter is the Egbert B. Gebstadter of indirect self-reference." - Egbert B. Gebstadter

  • also meinst du, dass ich einfach beispielsweise nur von 0-5 inkrementiere, stoppe, auf die benutzer eingabeaufforderung warte, "wollen sie bei 5 stoppen oder weiterinkrementieren"

  • Zitat von sommeralex

    also meinst du, dass ich einfach beispielsweise nur von 0-5 inkrementiere, stoppe, auf die benutzer eingabeaufforderung warte, "wollen sie bei 5 stoppen oder weiterinkrementieren"

    :shinner:

    verdammt. als eingefleischter gui-mensch hab ich nicht dran gedacht, dass die input-abfragen blockieren. in dem fall funktioniert mein system natürlich nicht. sorry, schwerer fehler.

    "Egbert B. Gebstadter is the Egbert B. Gebstadter of indirect self-reference." - Egbert B. Gebstadter

  • vielleicht gehts mit der funktion keyboardhit() (ich hoff die heißt so, kann mich nicht mehr genau errinern)

    Code
    while(!keyboardhit()) {
    ...
    }



    aber ob die portierbar ist weiß ich nicht

    Four stages of acceptance:
    1.) this is worthless nonsense
    2.) this is interesting, but perverse, point of view
    3.) this is true, but quite unimportant
    4.) I alwas said so
    J.B.S. Haldane

  • Achja, falls du doch Threads brauchst, könntest du dich ja um eine portable Programmbibliothek umschauen, Google meint dazu zum Beispiel das, das oder das.

    "Egbert B. Gebstadter is the Egbert B. Gebstadter of indirect self-reference." - Egbert B. Gebstadter

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!