Является ли Vector потокобезопасным в Java?
Является ли Vector потокобезопасным в Java?

Видео: Является ли Vector потокобезопасным в Java?

Видео: Является ли Vector потокобезопасным в Java?
Видео: Урок 26 - Синхронизированные коллекции (прокачанная Java) 2024, Декабрь
Anonim

Вектор все методы синхронизированы. Так что используя его из нескольких потоки является " безопасно ". Вам нужно синхронизировать только в том случае, если вам нужно, чтобы процесс чтения-оценки-записи был атомарным. Синхронизация ваших собственных методов не обязательно делает ваш код нить - безопасно для этих сценариев.

Имея это в виду, является ли список потокобезопасным в Java?

Фактически, все классы коллекций (кроме Vector и Hashtable) в Джава . пакет утилит не нить - безопасно . Вот почему новый коллекции ( Список , Set, Map и т. Д.) Не обеспечивают никакого управления параллелизмом, чтобы обеспечить максимальную производительность в однопоточных приложениях.

Аналогично, какая коллекция в Java является потокобезопасной? А нить - безопасно class - это класс, который гарантирует внутреннее состояние класса, а также возвращаемые значения из методов, являются правильными при одновременном вызове из нескольких потоки . В коллекция классы, которые нить - безопасно в Java это стек, вектор, свойства, хеш-таблица и т. д.

Учитывая это, является ли Java HashSet потокобезопасным?

HashSet не является потокобезопасный HashSet в Джава не является потокобезопасный так как по умолчанию он не синхронизируется. Если вы используете HashSet в многопоточной среде, где к нему обращаются несколько потоки одновременно и структурно модифицированный даже одним нить тогда он должен быть синхронизирован внешне.

Что такое потокобезопасный ArrayList или вектор?

Вектор и так медленно потокобезопасный . В сравнении ArrayList работает быстро, так как не синхронизируется. Таким образом, в ArrayList два или более потоки может получить доступ к коду одновременно, а Вектор ограничен одним нить вовремя. А Вектор по умолчанию размер своего массива удваивается.

Рекомендуемые: