phthread anzahl plus ausgabe

  • abend
    kann mit mal bitte wer bei folgendem prob helfen
    das war eine testangabe

    void* f(void p){

    return 0;
    }
    main() {
    int i = 0;
    while ( i<=5 )
    {
    pthread_t t;
    pthread_create(&t, 0, f ,(void) i);
    i++;
    }
    pthread_exit(0);
    }

    zu erledigen war nun folgendes
    a) In welchen Zeilen Befinden sich Syntaxfehler und wie lauten die Zeilen richtig?
    b) Unter der Annahme, dass alle Syntaxfehler beseitigt sind: aus wie vielen Threads besteht die Anwendung insgesamt?
    c) Unter der Annahme das alle Sytaxfehler beseitigt sind: ergänze das Programm soe, dass an der Konsole von jedem Thread
    genau eine Meldung erscheint. Die Meldung muss für jeden Thread unterschiedlich lauten

    Fehler#1: Zeile 1 man braucht einen void* in der Klammer
    #2: beim phthread_create gehört
    pthread_create(&t,0,f,(void *) i);
    (also ebenfalls mit void*)

    dann ich hätte vermutete dass es 6 threads sind, dürfte aber nicht stimmen

    und wie macht man dass mit der ausgabe?


    ich habs momentan auf das geändert

    void* f(void *p){
    return 0;
    }


    int main() {
    int i = 0;
    while ( i<=5 )
    {
    cout <<"Thread " << i << " wurde erzeugt"<<endl;
    pthread_t t;
    pthread_create(&t,0,f,(void *) i);
    i++;
    }
    pthread_exit(0);
    }

    dürft aber auch net wirklich passen
    ich vermute es gehöhrt noch etwas in void* f(void* p) rein, weil das ist ja nicht einfachso vorhanden....

    bitte um rasche hilfreiche antwort (ich bin ziemlicher Anfänger auf diesem Gebiet und habe am Montag Prüfung)

    stefan

  • wuerd mal sagn es sind 7 threads: die 6 die du anlegst + der "haupthread".

    wegen ausgabe: das i wird der funktion/dem thread ja uebergebn, also koenntest es dort ausgebn, oder?

    I came here to chew gum and kick ass, and I'm all out of gum...

Jetzt mitmachen!

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