|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Registered User
Iscritto dal: Jun 2004
Messaggi: 47
|
[C++] sdoppiare l'esecuzione
questo programma in C++ dovrebbe aprire 2 programmi insieme invece apre il secondo solo quando il primo viene chiuso.
int ret1 = system (argv[1]); int ret2 = system (argv[2]); come si fa ad eseguire due system contemporaneamente?? grazie |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Feb 2003
Città: fra casa e lavoro
Messaggi: 1061
|
mmm su windows c'è la CreateProcess se non erro
per linux non so nulla di portabile penso cmq.. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Su linux la fork e la exec...
Su Windows o crei due thread che chiamano la system o chiami due volte la CreateProcess... |
![]() |
![]() |
![]() |
#4 |
Registered User
Iscritto dal: Jun 2004
Messaggi: 47
|
ho optato per la seconda soluzione CreateProcess e funziona.
mi potresti spiegare un po' cosa sono questi thread?? grazie |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Sono detti anche "processi leggeri", anche se a molti questa definizione non piace.... In pratica viene generato un altro flusso di esecuzione che condivide con il processo chiamante l'intera area di memoria assegnata...
In pratica un processo può essere formato da uno o più thread che condividono la stessa area di memoria... Ah diversi vantaggi...lo scambio di dati fra thread a costo zero (se non qello delle primitive si sincronizzazione), il tempo necessario alla creazione di un thread è minore di quello necessario per la creazione di un nuovo processo (più, nel caso di fork classica, il tempo di duplicazione della memoria del processo chiamante)... |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:27.