|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Feb 2001
Città: Roma
Messaggi: 3695
|
JVM e quad core
C'è un modo, oltre all'utilizzo dei thread, per sfruttare il multicore tramite la JAva Virtual Machine?
Grazie |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
|
Dipende dal sistema operativo. Ogni sistema operativo mappa un thread della jvm in uno o più thread nativi.
Quindi se non usi esplicitamente il multithreading, visto che ogni programma che esegui almeno un thread java ce l'ha, se il S.O. lo mappa in un unico thread nativo lavori per forza di cose su un core, se li mappa in più thread...chissà
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes] "Pirating software? Choose Microsoft!" |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
non si possono sfruttare + core per effettuare dei calcoli all'interno del tuo software senza utilizzare dei thread o dei runnable con java...
Col C# e PLINQ basta aggiungere la chiamata al metodo AsParallel()
__________________
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
|
@^TiGeRShArK^: neanche nel caso in cui il sistema operativo mappi il thread in 2 o più thread nativi? Perchè?
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes] "Pirating software? Choose Microsoft!" |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
Il thread è l'unità + piccola per il parallelismo, dato che in un processo possono girare + thread. La divisione automatica dei thread però è impossibile da effettuare dato che si devono gestire le dipendenze e le interazioni tra thread. Infatti il C# lo può fare solo perchè utilizza dei costrutti di programmazione funzionale e in modo particolare le funzioni pure che non modificano alcun dato che non sia quello locale alla funzione stessa.
__________________
|
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
|
Hai perfettamente ragione, mi ricordavo male io:
N thread a livello utente corrispondono (o possono corrispondere) ad M thread a livello kernel con N >= M >= 1. Grazie tiger
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes] "Pirating software? Choose Microsoft!" |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Feb 2001
Città: Roma
Messaggi: 3695
|
Grazie delle considerazioni
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:32.



















