В этой статье подробно анализируются использование и одновременное использование в Java. Поделитесь этим для всех для вашей ссылки. Конкретный анализ заключается в следующем:
1. Синхронный контейнер включает в себя две части: вектор и хэштат
Другой - это синхронная упаковка, который был создан коллекциями. Синхронный контейнер проводит интервью у всех состояний контейнера для обеспечения безопасности потока.
У них есть следующие проблемы:
а) Для работы требуется дополнительная защита блокировки. Например, итеративные, отсутствующие условия, такие как добавление.
б) Тостронг, хэшкод, равные косвенно назвать итеративным, и вам необходимо обратить внимание на параллелизм.
2. Одновременный контейнер в Java5.0.
Concurrenthashmap может заменить реализацию синхронной карты.
Когда он в основном читается, CopeonWritearRaylist - это синхронная реализация списка.
В то же время, очередь и блокировка: concuryentlinkedqueue: fifo Queue.
Приоритет: не -сердечная очередь приоритета.
Блокировка увеличивала блокировку и приобретение блокировки.
а) ConcucrentHashMap: это не публичный замок, а отдельный замок. Любое количество потоков считывания может быть доступно одновременно, читатели и авторы также могут получить доступ к карте одновременно, а ограниченное количество письменных счетов также может одновременно изменить карту. Тем не менее, размер и ямпский язык ослаблен, что оценивается.
b) CopyonWritearRayList: итератор сохраняет ссылку на нижний базовый массив, и эта ссылка не будет изменена.
3. Синхронизатор
а) Countdownlatch. Параметр конструктора n, после обратного отсчета, n равно 0, и все потоки ожидают выполнения.
б) FutureTask: Рассчитайте Runnable, который может быть реализован с помощью Callable и может нести результат. В том числе: подождите, беги и завершите.
в) семафор: количество действий, к которым можно получить одновременно
D) Cyclicbarrier: похож на атрезию. Замок ждет инцидента, и уровень ждет других потоков. Начальные n, запускаемые r, n потоки ждают ().
Есть надежда, что эта статья полезна для дизайна программы Java каждого.