Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » C++ Threads

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
23.12.2019, 12:43 Uhr
minimi



Moin zusammen!


Ich habe den unten aufgezeigten Code.
Bei mir wird in der Konsole nur "foo" ausgegegben.

WIeso wird nicht "foo" und "goo" beides ausgegeben? (Es müssten doch die 2 Threads parallel laufen? (habe ein Mehrkern Prozessor))


Danke



Der Code:


C++:
#include <iostream>
#include <thread>
void foo() {
    while(1==1)
    std::cout << "foo" << std::endl;
}
void goo() {
    while(1==1)
    std::cout << "goo" << std::endl;
}
int main() {
    std::thread t1(foo);
    t1.join();
    std::thread t2(goo);
    t2.join();
    return 0;
}


Dieser Post wurde am 24.12.2019 um 11:06 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
23.12.2019, 19:03 Uhr
ao

(Operator)



Zitat von minimi:
WIeso wird nicht "foo" und "goo" beides ausgegeben? (Es müssten doch die 2 Threads parallel laufen? (habe ein Mehrkern Prozessor))

Es laufen 2 Threads parallel, und zwar der main-Thread und t1. t1 rennt wild im Kreis und gibt seinen Text aus, und main steht in t1.join und wartet darauf, dass t1 sich beendet, was nie geschieht. t2 ist noch gar nicht erzeugt worden, das würde im nächsten Schritt nach t1.join geschehen.


Zitat:
(habe ein Mehrkern Prozessor)

Auch auf einem Singlecore-Prozessor würdest du Multithreading-Verhalten sehen (vorausgesetzt, du hast es richtig programmiert). Es wäre dann nur nicht echt parallel, sondern nur quasi-parallel (in kurzen Häppchen abwechselnd).

Und auch auf einem Multicore-Prozessor gibt es keine Garantie, dass beide Threads auf verschiedenen Kernen laufen. Das hängt davon ab, welche Prozesse sonst noch aktiv sind und nach einer CPU verlangen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: