Επαναφόρτωση ταυτόχρονης Java: Project Loom

Επαναφόρτωση ταυτόχρονης Java: Project Loom

März 12, 2023 0 Von admin

Όπως είδαμε, η Java έχει μακρά ιστορία στο multithreading και αυτή τη στιγμή, το μοντέλο ταυτόχρονης χρήσης είναι πολύ ώριμο και ασφαλές στη χρήση. Αλλά έχει ορισμένα μειονεκτήματα: τα νήματα είναι πολύ ακριβά όσον αφορά τους πόρους που χρησιμοποιούνται.

Τα νήματα της πλατφόρμας αντιστοιχίζονται σε αναλογία 1:1 με νήματα λειτουργικού συστήματος, επομένως ο αριθμός των νημάτων που δημιουργούμε εξαρτάται από το πόσα νήματα λειτουργικού συστήματος έχουμε στο μηχάνημά μας και από το πόση μνήμη έχουμε διαθέσιμη. Αυτό σημαίνει ότι κάθε φορά που δημιουργούμε ένα νήμα, πληρώνουμε σημαντικά σε μνήμη και απόδοση. Η κλιμάκωση μιας εφαρμογής πολλαπλών νημάτων θα σήμαινε την προσθήκη πόρων υλικού στο μηχάνημά σας.

Thread.start() θεωρείται αναποτελεσματικό επειδή, κατά την εκκίνηση, κάθε νήμα Java καταναλώνει περίπου 1 Mbb μνήμης, η οποία βρίσκεται εκτός του σωρού, επομένως, ανεξάρτητα από το πόσο σωρό εκχωρούμε, πρέπει επίσης να λάβουμε υπόψη τη μνήμη που καταναλώνεται από τα νήματα. το κόστος δημιουργίας ενός νήματος είναι αρκετά υψηλό.