Είναι το vector νήμα Push_back ασφαλές;
Είναι το vector νήμα Push_back ασφαλές;

Βίντεο: Είναι το vector νήμα Push_back ασφαλές;

Βίντεο: Είναι το vector νήμα Push_back ασφαλές;
Βίντεο: CS50 2013 - Week 7 2024, Δεκέμβριος
Anonim

Δεν είναι Νήμα - ασφαλής γιατί α διάνυσμα είναι συνεχόμενο και αν γίνει μεγαλύτερο τότε ίσως χρειαστεί να μετακινήσετε τα περιεχόμενα του a διάνυσμα σε διαφορετική θέση στη μνήμη.

Επίσης, το ερώτημα είναι, είναι τα vectors thread ασφαλή;

Διανύσματα συγχρονίζονται. Οποιαδήποτε μέθοδος που αγγίζει το Διάνυσμα τα περιεχόμενα του είναι νήμα ασφαλές . Το ArrayList, από την άλλη πλευρά, δεν είναι συγχρονισμένο, με αποτέλεσμα να μην είναι νήμα ασφαλές.

Επίσης, γνωρίζετε, είναι ασφαλές το νήμα του HashMap; HashMap είναι μη συγχρονισμένο. Δεν είναι- ασφαλής με νήματα και δεν μπορεί να μοιραστεί μεταξύ πολλών κλωστές χωρίς κατάλληλο κώδικα συγχρονισμού, ενώ το Hashtable είναι συγχρονισμένο. Είναι Νήμα - ασφαλής και μπορεί να μοιραστεί με πολλούς κλωστές.

Εδώ, ποιο είναι καλύτερο το vector ή το ArrayList;

Διάνυσμα είναι παρόμοια με ArrayList , αλλά είναι συγχρονισμένο. ArrayList είναι ένα καλύτερα επιλογή εάν το πρόγραμμά σας είναι ασφαλές για νήμα. Διάνυσμα και ArrayList απαιτεί χώρο καθώς προστίθενται περισσότερα στοιχεία. Διάνυσμα κάθε φορά διπλασιάζει το μέγεθος του πίνακα, ενώ ArrayList μεγαλώνει το 50% του μεγέθους του κάθε φορά.

Γιατί χρησιμοποιείται το vector στην Java;

Διάνυσμα σε Ιάβα . Διάνυσμα διεπαφή implementsList. Όπως το ArrayList, διατηρεί επίσης τη σειρά εισαγωγής, αλλά σπάνια μεταχειρισμένος σε περιβάλλον χωρίς νήματα όπως είναι συγχρονισμένο και λόγω του οποίου δίνει κακή απόδοση αναζήτησης, προσθήκης, διαγραφής και ενημέρωσης των στοιχείων του.

Συνιστάται: