View Full Version : [C++] sdoppiare l'esecuzione
athebustop
20-07-2004, 18:59
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
mmm su windows c'è la CreateProcess se non erro
per linux non so
nulla di portabile penso cmq..
Su linux la fork e la exec...
Su Windows o crei due thread che chiamano la system o chiami due volte la CreateProcess...
athebustop
21-07-2004, 15:21
ho optato per la seconda soluzione CreateProcess e funziona.
mi potresti spiegare un po' cosa sono questi thread??
grazie
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)...
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.