Threads und Stack Variablen
-
void einFunktion(void * arg) { int z = *static_cast<int *>( arg ); cout << z << endl; } int main() { { int a = 10; _beginthread( &einFunktion, 0, &a ); } ... }Was ist eigentlich wenn _beginthread den Thread Startet dann aber noch bevor den cast der Scheduler sich denkt gehen wir doch zurück in main und dann der Block zu ende ist und a gekillt wird, danach springt der Scheduler zurück in den Thread und *BUMM*.
Wenn man auch Nummer sicher gehen will sollte man verbieten Lokale Variablen an Threads zu übergeben auch wenn sie sofort sich eine Kopien machen.
Ja?Danke
-
Ja?
Ja.

-
Original erstellt von -King-:
**Ja?Ja. ;)**
gut

-
ja, wirklich sehr gut!
-
Ausgezeichnet sogar.

Füh'wah'
-
hustbaer schrieb:
Ausgezeichnet sogar.

Füh'wah'Excelent formuliert!

-
Alternativ kannst du im Thread per event signalisieren, daß du die Kopie gemacht hast, und im Main thread auf dieses Event warten.
Und ich würde das gern von "lokale variablen" zu "referenzen auf lokale variablen" ändern.
Ja?
-
wozu sollte man solchen schwachsinn machen? verstehe den sinn dieses threads nicht. und vllt erstmal deutsche grammatik lernen, bevor man iwas mit threads machen will, das war grausam zu lesen. benutz ma kommata
