migliorabile ha scritto:
SamueleCiprietti ha scritto:
Java è un linguaggio in cui il multithreading svolge un ruolo fondamentale. C/C++ sono entrambi stati sviluppati in un periodo in cui il multithreading non ra usato largamente, è stato introdotto solo in seguito.
Beata gioventu'!
Dovresti studiare un po' di piu' la storia dell'informatica!
I primi sistemi operativi che supportavano il multitasking (piu' processi in esecuzione contemporaneamente) sono degli anni 60.
E' gia' in questo periodo si faceva programmazione concorrente!
Il C e' del 1971: nella libreria standard c'e' la funzione fork che non e' altro che una primitiva versione di thread.
Il C++ e' del 1983
Java e' del '95
Domandone di rito:
1) che intendi con largamente utilizzato?
2) che intendi per il multithreading e' stato introdotto solo in seguito?
3) che intendo cin Java è un linguaggio in cui il multithreading svolge un ruolo fondamentale?
Mi raccomando, attento ai luoghi comuni
Multithreading e multitasking è ben diverso. Come hai detto il multitasking permette che siano eseguiti più processi quasi contemporaneamente e un processo è un'istanza di un programma. Cito wikipedia: a process is an instance of a computer program that is being executed.
Per cui, nel multitasking, non si possono condividere attività della stessa applicazione su più "piani". (Da quel che ho capito)
Con "è stato introdotto solo in seguito" intendo che occorreva utilizzare librerie esterne alla standard C++ per utilizzare il multithreading. Cito nuovamente wikipedia: Until recently, the C++ standard did not include any specification or built-in support for multi-threading. Therefore, Threading had to be implemented using special threading libraries, which are often platform dependent, as an extension to the C++ standard.
Comunque la mia osservazione era del tutto personale, se dite che non c'entra il multithreading, mi fido.