Capisco che jvm sia esso stesso un'applicazione che trasforma il bytecode dell'eseguibile java nel codice macchina nativo, ma quando si utilizzano i thread nativi ho alcune domande a cui non riesco a rispondere.Comprendere i thread nativi di java e la jvm
- fa ogni filo creare la propria istanza della JVM per gestire il loro particolare esecuzione?
- Se non allora l'jvm deve avere un modo per programmare quale thread tratterà successivo, in tal caso non sarebbe questo rende la natura multi-thread di java inutile poiché soltanto un thread può essere eseguito in un momento?
"Sì, la JVM ha un thread scheduler. Ci sono molti diversi algoritmi per la pianificazione filo, e che uno è usato è JVM-vendor dipendente" penso che ci sia un fuorviante qui, perché se i thread Java creano un nativo thread (non thread verdi), quindi JVM non ha bisogno di pianificazione o non pianifica perché il sistema operativo lo fa tramite il cambio di contesto. Ho ragione? Perfavore, correggimi se sbaglio. – PeerNet