Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Forum :: Programmazione.it :: C :: Pthread POSIX
Scritto da vic1970 il 26-02-2009 ore 10:33
Intel Parallel Studio XE
Ciao a tutti.

Da un po' di tempo sono alle prese con i thread posix.
Ho l'esigenza di creare moltissimi thread (con l'uso della funzione "pthreate_create"): in pratica, all'interno di un ciclo while iterato un enorme numero di volte, passo una stringa sempre diversa all'unica funzione "pthread_create". Ovviamente, se al thread cosi' creato gli faccio un join con la "pthread_join", non ho alcun problema, ma non riesco a sfruttare veramente tutti i core del mio processore (ho un quad core 8300), ma vedo l'uso della cpu per il tempo di elaborazione necessario piantato intorno al 25%.
Se invece, al thread cosi' creato non faccio alcun join, da un lato vedo lavorare la CPU al 100% (con tutti i suoi core quindi), ma l'applicazione non e' stabile, nel senso che dopo un po' di tempo crasha, ritengo per come vengono allocati e deallocati i thread stessi.

Qualcuno puo' darmi qualche dritta per uscire da questo stallo??

Grazie mille.
Precedente: Consulente Java Developer
Successiva: Problema array [C#]
Intervento di Filippo Fadda a.k.a. dedalo del 24-03-2009 ore 06:09, Capriata d'orba (AL)
Duca
Duca

(1961 interventi)
Iscritto il 03-04-2001
Magari crasha perché spammi troppi thread? Fai un check per verificare che non torni EAGAIN?
Copyright Programmazione.it™ 1999-2013. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.239 secondi.