Newsgroup: it.comp.programmare
Titolo: Informazioni sull'uso dell'istruzione fork

Salve a tutti,
come utente Linux mi trovo costretto a dover operare sotto windows con il
linguaggio C. Purtroppo abituato ad usare l'istruzione fork() sotto Linux
non riesco a trovare un'altra istruzione simile che operi sui tread delle
applicazioni ma utilizzabile da windows. Quindi la mia richiesta è la
seguente: esiste un'istruzione simile alla fork ma che giri sotto windows?
Grazie a tutti per l'attenzione ed il disturbo.
Emiliano.

 Emiliano.
ciao
    Sbirish

 linguaggio C.
Che sfiga, eh... ;-PPP
Tanto prima o poi tutti a windows si finisce (da ex Amiga-programmer).
-- 
Luc.

 ha scritto nel messaggio
news:MPG.18aaf63ea...@tornado.fastwebnet.it...


 altri!
Detto da uno che non sa neanche quotare e tutto un... ROTFL!
-- 
Luc.

 Detto da uno che non sa neanche quotare e tutto un... ROTFL!
...è tutto...
-- 
Luc.

 Ciao.
per i catorciosi sviluppatori che non comprendono la differenza tra
thread e processi il dos sarebbe già anche
troppo ( senza nulla togliere al dos ).
... PEBKAC
sbi

applicazioni ma utilizzabile da windows.
Forse intendi threads! Ad ogni modo la tua frase non mi sembra molto
chiara....
fork() non opera sui threads ma sui processi!
In windows i threads funzionano molto bene e puoi utilizzarli al posto del
fork() ed in genere sono piu' performanti!
In windows non esiste un fork() ma e' possibile emularlo visto che mette a
disposizione molti strumenti per threads e processes.
Il mio consiglio e' di adattare il programma ed utilizzare i threads (fork()
e' semplice ed elegante, ma... e' raramente la soluzione ottimale!).
Ad ogni modo questo messaggio e' partito OT, ed e' pure degenerato, quindi
rimando la discussione su it.comp.programmare.win32 dove altre persone
(visto che non frequento piu' da tempo) saranno liete di risponderti se
risparmi commenti inutili (non dico che non siano veri, dico solo che sono
inutili!)
Tommy

 alla fork ma che giri sotto windows?
per Apache 2 hanno sviluppato un'API (MultiProcessing Modules) per fare 
multiprogrammazione basata indifferentemente su fork, thread, ecc. Puoi 
darci un'occhiata, credo sia proprio quello che cerchi
-- 
  < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
      Don't stand, REACT!      version 0.0.21. C/C++ and ASM developers
                               and beta testers are welcome!

 (č un discorso lungo e non sto a fartelo adesso)
Quando puoi a me interesserebbe...
-- 
Rhymes (rhy...@NOSPAMmyself.com)
linux registered user #219707
linux registered machine #172395

 (è un discorso lungo e non sto a fartelo adesso)
Come funziona la fork di cygwin?
-- 
Marco Barisione

 Quando puoi a me interesserebbe...
anche a me :)
Sbirish

 Come funziona la fork di cygwin?
è non-copy-on-write, che era così inefficiente (ora non si usa più) che 
per BSD dovettero inventare una nuova system call, vfork(), da usare se 
e solo se si doveva fork()are e subito dopo exec()are (fork() in questi 
casi copiava - quindi con un overhead mica da ridere - un address space 
che exec() avrebbe distrutto immediatamente dopo). Nel caso particolare 
di Cygwin vengono presi un numero di accorgimenti per renderla una cosa 
il meno dolorosa possibile, ma si tratta comunque di copia di memoria a 
mano


 mano
alternativa?


 ha scritto nel messaggio
news:MPG.18ab0ce48...@tornado.fastwebnet.it...


 windows?
Io sono riuscito a compilare programmi che usavano la fork sotto Win con
Dev-C++ che si basa su un porting di gcc per Win
Altrimenti puoi provare con cygwin


 che operi sui tread delle applicazioni ma utilizzabile da windows.
cmq la fork crea un nuovo processo, non un nuovo thread.
Cieo :)

 cmq la fork crea un nuovo processo, non un nuovo thread.
propriamente, crea un nuovo processo e un nuovo thread, rispettivamente 
copia del processo e del thread chiamante. Se i thread nel processo che 
ha chiamato fork() erano più di uno, viene copiato solo quello in cui è 
avvenuta la chiamata
-- 
  < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
      Don't stand, REACT!      version 0.1.0. C, C++ and ASM developers


 avvenuta la chiamata
occhio che UNIX-POSIX non è multi-threading... Il comportamento del sistema
di fronte a threads è legato alle varie implementazioni...
Ad esempio: come dovrebbe comportarsi il sistema se nel processo padre i
thread in esecuzione sono più di uno? Cosa fare delle risorse associate a
ciascun thread? Copiarle al primo accesso in scrittura da parte del figlio
(come per i processi)?
Insomma, manca uno standard...
Ciao!

 padre i thread in esecuzione sono più di uno?
l'ho già detto: si copia solo il chiamante
-- 
  < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
      Don't stand, REACT!      version 0.1.1. C, C++ and ASM developers


Azz... sono rimasto un po' indietro allora! ;-)
Grazie x l'aggiornamento!
Ciao

 > windows?
Ciao... dipende da che vuoi fare... per creare un Thread il comando dovrebbe
essere
CreateThread()
in caso tu voglia fare un nuovo processo se non erro dovrebbe essere
CreateProcess()
Per info maggiori e più dettagliate controlla il sito della microzozz nella
sezione sviluppo...
regards
Melkor