Це програма для Linux під назвою JavaMutex, останню версію якої можна завантажити як JavaMutex-2017-04-09a.zip. Його можна запустити в режимі онлайн за допомогою безкоштовного хостинг-провайдера OnWorks для робочих станцій.
Завантажте та запустіть онлайн цю програму під назвою JavaMutex з OnWorks безкоштовно.
Дотримуйтесь цих інструкцій, щоб запустити цю програму:
- 1. Завантажив цю програму на свій ПК.
- 2. Введіть у наш файловий менеджер https://www.onworks.net/myfiles.php?username=XXXXX із потрібним ім'ям користувача.
- 3. Завантажте цю програму в такий файловий менеджер.
- 4. Запустіть онлайн-емулятор OnWorks Linux або Windows або онлайн-емулятор MACOS з цього веб-сайту.
- 5. З ОС OnWorks Linux, яку ви щойно запустили, перейдіть до нашого файлового менеджера https://www.onworks.net/myfiles.php?username=XXXXX з потрібним іменем користувача.
- 6. Завантажте програму, встановіть її та запустіть.
JavaMutex
Ad
ОПИС
Вільне розповсюдження з відкритим кодом 100% чиста Java для взаємного виключення. Блокування повторного доступу для читання-запису та лише для читання, змінна умови, атомарне обгортання для логічних, цілочисельних, довгих і довідкових. Пул клітин з додатковим блокуванням, обмінник об'єктів, Intersect.Функції
- 100% чиста Java; вимагає підтримки лямбда-виразів Java SE 8.
- Не покладається на власні внутрішні реалізації JVM або внутрішні структури даних JVM (на відміну від реалізації пакетів java.util.concurrent.* Oracle).
- Підтримує екземпляри java.util.concurrent.locks Lock, ReadWriteLock і Condition, читання-запис і тільки читання.
- Підтримує java.util.concurrent.atomic AtomicBoolean, AtomicInteger, AtomicLong, AtomicReference, AtomicMarkedReference, AtomicStampedReference. Додає більше функцій.
- Підтримує java.util.concurrent Exchanger, Semaphore. Додає клас ExchangerPool.
- Включає нові інтерфейси та класи для взаємного виключення та одночасної обробки.
- Новий протокол взаємного виключення Intersect/Pathway.
- Новий API SpinLock для швидкого оновлення мінливих полів.
- Нова SpinLockOperation для загальних операцій атомарного вибору та збереження під час утримання SpinLock.
- Нові класи прикладів двозв’язаного списку SpinLockList, SpinLockNode для доступу до SpinLockOperation.
- Нові атомні обгортки для використання SpinLock.
- Нові нестабільні обгортки для використання SpinLockOperation.
- SpinLockList підтримує інтерфейси Iterable, Iterator, ListIterator.
- Нові інтерфейси LatchFactory, LockFactory, ReenterableLockFactory, ReenterableDualLockFactory.
- Новий інтерфейс IntersectFactory і методи диспенсера в IntersectLatch, IntersectLimited.
- Нова парадигма ConditionClosure застосована до блокувань і перетинань для підтримки змінних умов.
- Новий ReenterableLockAvailable API для сповіщення клієнта, коли ReenterableLock повністю звільнено.
- Додано CountDownLatch і CyclicBarrier з додатковими зручними методами.
- Додано TrafficBarrier як бар’єр потоків, що імітує транспортний перехрестя.
- Додано TransferPipe для одностороннього дизайну виробник-споживач.
- Додано клас SynchronousQueue та інтерфейси TransceivePipe, TransmitPipe, ReceivePipe (і фабрики).
- Додано EventToken і EventTokenSet для потоку, який очікує на одну або кілька подій в одному або кількох робочих потоках.
- Додано паралельний пакет для простих пулів робочих потоків.
- Клас FutureWork для виконання екземплярів Callable.
- Включає зразок TestMultiServer для демонстрації модульних потокових серверів без тупиків за допомогою EventTokenSet. Зразкові сервери не блокуються, навіть коли запитуються дані з інших серверів.
- Підтримка ExecutorService, ScheduledExecutorService, CompletionService.
- Включає зразок рішення Dining Philosophers, який використовує програмне забезпечення SpinLock API без тупиків чи голодування.
- Інтерфейс ExtendedLock для виклику методів функціонального інтерфейсу, утримуючи Lock.
- Додайте SpeedLock і друзів до пакета замків. Коли програма має фіксовану кількість потоків, SpeedLock пропонує дуже високу продуктивність для отримання та зняття блокування.
- SpeedLock заснований на SpinLockOperation.
- SpeedLockPool — це блокування з внутрішнім пулом екземплярів SpeedLock. SpeedLockPool використовується необмеженою кількістю потоків для дуже високої продуктивності блокування.
- SpeedLockDual підтримує варіанти для читання-запису та лише для читання.
- SpeedLockDualPool керує пулом SpeedLockDual для доступу необмеженій кількості одночасних потоків.
- Допоміжний клас SpeedLocks з методами дозатора для різних видів SpeedLock і заводів.
Аудиторія
Розробники
Мова програмування
Java
Це додаток, який також можна отримати з https://sourceforge.net/projects/javamutex/. Його розміщено в OnWorks, щоб його можна було запустити в Інтернеті найпростішим способом з однієї з наших безкоштовних операційних систем.