|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Oct 2009
Messaggi: 157
|
[C++] Thread Linux
Salve a tutti
Mi sono imbattuto in un programma in c++ che fa uso di threads per gestire i diversi flussi, e fin ora sto usando POSIX Threads (che chiaramente è in C, no C++) ... Volevo sapere qual'è una buona interfaccia per gestire i threads in C++ nei sistemi UNIX (particolare linux)... Grazie a tutti in anticipo ... |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
La libreria boost ha una buona gestione dei thread (e di molto altro). Se non sbaglio quella parte entrerà nel prossimo standard C++.
A seconda del tipo di progetto potrebbe essere plausibile l'uso delle librerie QT, ovviamente se potessero essere usate anche per altre cose. In alternativa puoi incapsulare i pthread in una classe C++ da cui puoi derivare i tuoi thread. Un esempio: http://www.linuxselfhelp.com/HOWTO/C...-HOWTO-18.html |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Oct 2009
Messaggi: 157
|
Molte grazie della risposta cionci .... Inizierò dal framework boost, poiché sembra che il futuro del C++ stia puntando li, e cerco sempre di evitare di mischiare codice C con codice C++ ...
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Mah, se il futuro di C++ punta li, il mio punta da tutt'altra parte
Boost è troppo ingombrante per essere utile, e non mi piace per tutta una serie di altri motivi. Comunque, potresti dare un'occhiata a http://pocoproject.org/: offre un pò di tutto (thread,sockets,files,etc) come Boost, ma è una sola .dll grande solo 1 mb, quasi non usa metaprogramming, e personalmente mi sembra molto più sana di mente |
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Oct 2009
Messaggi: 157
|
Ottime risposte da tutti e due
Ma in caso di applicazioni Multithreading e multi piattaforma?? Boost da quel che so sono multi piattaforma... ps: Un complimento a Tommo per avermi fatto conoscere POCO C++, sembra promettente, la devo solo sperimentare il Linux... |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Quote:
Boost nel complesso e' grande, ma puoi linkare solo quello che ti serve. E se ci sono parti troppo complesse e templatizzate (mi viene in mente la parte sui grafi) non sei obbligato ad usarle. Il fatto che siano ampiamente usate poi da un minimo di garanzia in piu' riguardo la qualita' del codice.
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Le Boost sono molti piattaforma, così come le QT. La libpthread ha una portabilità nettamente minore. Ad esempio su Windows va solo con porting del gcc, mentre le altre due funzionano tranquillamente anche su altri compilatori.
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:06.




















