Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve
Dopo quasi un mese di utilizzo quotidiano e un viaggio medio-lungo in autostrada, raccontiamo pregi e limiti della Geely EX5: comfort premium, batteria LFP da 60,22 kWh, autonomia fino a 430 km e un prezzo che parte da 38.900 €
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-05-2011, 19:02   #1
Emalele1688
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 ...
Emalele1688 è offline   Rispondi citando il messaggio o parte di esso
Old 14-05-2011, 17:03   #2
cionci
Senior Member
 
L'Avatar di cionci
 
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
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 15-05-2011, 09:34   #3
Emalele1688
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++ ...
Emalele1688 è offline   Rispondi citando il messaggio o parte di esso
Old 15-05-2011, 09:43   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da Emalele1688 Guarda i messaggi
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++ ...
Dipende da quello che devi fare. Se dovessi limitare la roba da portarmi dietro incapsulerei le chiamate alla libpthread. Tra l'altro mischiare codice C e C++ in questo modo è tutt'altro che sporco, anzi è un ottimo indizio di qualità del programmatore
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 15-05-2011, 11:28   #5
Tommo
Senior Member
 
L'Avatar di Tommo
 
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
__________________
*ToMmO*

devlog | twitter
Tommo è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2011, 11:14   #6
Emalele1688
Member
 
Iscritto dal: Oct 2009
Messaggi: 157
Ottime risposte da tutti e due Effettivamente l'uso di librerie esterne, come boost e POCO C++ implicano delle dipendenze aggiuntive, e nel mio caso l'uso della libpthread è ottimo...
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...
Emalele1688 è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2011, 12:59   #7
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Quote:
Originariamente inviato da Tommo Guarda i messaggi
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
Nel mio sistema libboost_thread.so e' grande 85 kb. Non ho presente in windows, ma non penso debba essere molto piu' grande.
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
marco.r è offline   Rispondi citando il messaggio o parte di esso
Old 21-05-2011, 09:03   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da Emalele1688 Guarda i messaggi
Ma in caso di applicazioni Multithreading e multi piattaforma?? Boost da quel che so sono multi
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.
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre Recensione Google Pixel 11: non ha l'HiLight dei...
Google rimuove il Pixel Tablet dal suo s...
Non solo Hugging Face: gli agenti OpenAI...
Suno lancia v6: le etichette incassano s...
Realme 16 Pro 5G, in arrivo la Harry Pot...
Logitech lancia MX Keypad, il nuovo cent...
NVIDIA punta sull'Australia: fino a 2 GW...
iPhone 17 sfonda quota 1.100 euro: l'aum...
Sei aziende cinesi accusate di copiare i...
Anthropic, scenario estremo: PIL +15% l'...
Star Wars (1977) torna al cinema in IMAX...
GeForce RTX 3070 Ti da 16 GB: un modder ...
IA e deliri religiosi: un uomo accusa Ch...
Nintendo Switch 2, arriva il VRR anche i...
Un errore delle API di Steam svela gli a...
Architettura 3D e materiali ferroelettri...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 12:50.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v