03-01-2008, 19:41
|
#265
|
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Originariamente inviato da sottovento
Qui ti voglio! 
Specificata cosi', ogni programmatore Java sa gia quel che fare, e sa che telegram e' valido per ogni tipo di elaborazione che gli salta in mente.
Ma... e' lo stesso per il programmatore C++? Assolutamente no!
Telegram potrebbe essere una variabile locale, nel metodo di chiamata del dispatcher, giusto?
Come fai a saperlo? Se non te lo dice qualcuno, NON LO PUOI SAPERE.
|
Non ho capito  Fammi un'esempio...
Quote:
Originariamente inviato da sottovento
A questo punto, aggiungo un tassello: ho ricevuto questo telegramma e lo devo, ovviamente, elaborare.
L'elaborazione e' affidata ad un altro thread, per motivi di efficienza. Devo quindi fare una push dell'oggetto in una coda, il thread lo prelevera' e lo elaborera'.
Sei costretto, in C++, a fare una copia! 
Altrimenti, potrebbe essere che sei efficiente ma, sorry, vai in crash
Java ovviamente non fara' alcuna copia, tirera' dritto e saremo tutti sicuri che funziona correttamente. In C++ non potrai essere sicuro, ed avrai anche paura di generare dei leak!
|
Certo...ma questo dovrebbe giustificare prestazioni migliori da parte di Java ?
Comunque stai ricadendo nuovamente sul garbage collector...se io uso un garbage collector in C++ posso copiare quanti riferimenti voglio
|
|
|