Jest to aplikacja dla systemu Linux o nazwie JavaMutex, której najnowszą wersję można pobrać jako JavaMutex-2017-04-09a.zip. Można go uruchomić online w darmowym dostawcy hostingu OnWorks dla stacji roboczych.
Pobierz i uruchom online tę aplikację o nazwie JavaMutex z OnWorks za darmo.
Postępuj zgodnie z tymi instrukcjami, aby uruchomić tę aplikację:
- 1. Pobrałem tę aplikację na swój komputer.
- 2. Wpisz w naszym menedżerze plików https://www.onworks.net/myfiles.php?username=XXXXX z wybraną nazwą użytkownika.
- 3. Prześlij tę aplikację w takim menedżerze plików.
- 4. Uruchom emulator online OnWorks Linux lub Windows online lub emulator online MACOS z tej witryny.
- 5. W systemie operacyjnym OnWorks Linux, który właśnie uruchomiłeś, przejdź do naszego menedżera plików https://www.onworks.net/myfiles.php?username=XXXXX z wybraną nazwą użytkownika.
- 6. Pobierz aplikację, zainstaluj ją i uruchom.
JavaMutex
Ad
OPIS
Wolna redystrybucja open source 100% czysta Java do wzajemnego wykluczania. Blokada ponownego wjazdu tylko do odczytu i zapisu, zmienna warunku, atomowe zawinięcia dla logicznych, całkowitych, długich i odwołań. Basen komórkowy z opcjonalną blokadą, wymiennikiem obiektów, Przecięciem.Funkcjonalności
- 100% czysta Java; wymaga obsługi Java SE 8 dla wyrażeń Lambda.
- Nie opiera się na zastrzeżonych wewnętrznych implementacjach JVM ani wewnętrznych strukturach danych JVM (w przeciwieństwie do implementacji Oracle pakietów java.util.concurrent.*).
- Obsługuje instancje java.util.concurrent.locks Lock, ReadWriteLock i Condition, tylko do odczytu i zapisu oraz tylko do odczytu.
- Obsługuje java.util.concurrent.atomic AtomicBoolean, AtomicInteger, AtomicLong, AtomicReference, AtomicMarkedReference, AtomicStampedReference. Dodaje więcej funkcjonalności.
- Obsługuje java.util.concurrent Exchanger, Semaphore. Dodaje klasę ExchangerPool.
- Zawiera nowe interfejsy i klasy do wzajemnego wykluczania i współbieżnego przetwarzania.
- Nowy protokół wzajemnego wykluczania Intersect/Pathway.
- Nowy interfejs API SpinLock do szybkiej aktualizacji ścieżek pól niestabilnych.
- Nowa operacja SpinLockOperation dla ogólnych atomowych operacji pobierania i przechowywania podczas trzymania SpinLock.
- Nowe klasy przykładowe listy SpinLockList, SpinLockNode podwójnie połączone dla dostępu SpinLockOperation.
- Nowe opakowania atomowe do użycia SpinLock.
- Nowe niestabilne otoki do użycia w SpinLockOperation.
- SpinLockList obsługuje interfejsy Iterable, Iterator, ListIterator.
- Nowe interfejsy LatchFactory, LockFactory, ReenterableLockFactory, ReenterableDualLockFactory.
- Nowy interfejs IntersectFactory i metody dozowania w IntersectLatch, IntersectLimited.
- Nowy paradygmat ConditionClosure zastosowany do blokad i przecięć w celu obsługi zmiennych warunkowych.
- Nowy ReenterableLockAvailable API do powiadamiania klienta, kiedy ReenterableLock zostanie w pełni zwolniony.
- Dodano CountDownLatch i CyclicBarrier z dodatkowymi wygodnymi metodami.
- Dodano TrafficBarrier jako barierę wątkową symulującą skrzyżowanie.
- Dodano TransferPipe dla projektów jednokierunkowych producent-konsument.
- Dodano klasę SynchronousQueue i interfejsy TransceivePipe, TransmitPipe, ReceivePipe (i fabryki).
- Dodano EventToken i EventTokenSet, aby wątek oczekiwał na co najmniej jedno zdarzenie w co najmniej jednym wątku roboczym.
- Dodano pakiet równoległy dla prostych pul wątków roboczych.
- Klasa FutureWork do wykonywania instancji Callable.
- Zawiera przykładowy TestMultiServer, aby zademonstrować wolne od zakleszczeń modularne serwery wątków przy użyciu EventTokenSet. Przykładowe serwery są wolne od blokad, nawet w przypadku żądania danych z innych serwerów.
- Wsparcie dla usług ExecutorService, ScheduledExecutorService, CompletionService.
- Zawiera przykładowe rozwiązanie Dining Philosophers korzystające z oprogramowania SpinLock API bez zakleszczeń i głodu.
- Interfejs ExtendedLock do wywoływania metod interfejsu funkcjonalnego podczas trzymania blokady.
- Dodaj SpeedLock i znajomych do pakietu blokad. Gdy aplikacja ma ustaloną liczbę wątków, SpeedLock oferuje bardzo wysoką wydajność pozyskiwania i zwalniania blokady.
- SpeedLock jest oparty na SpinLockOperation.
- SpeedLockPool to blokada z wewnętrzną pulą instancji SpeedLock. SpeedLockPool może być używany przez nieograniczoną liczbę wątków w celu uzyskania bardzo wysokiej wydajności blokowania.
- SpeedLockDual obsługuje warianty tylko do odczytu i zapisu.
- SpeedLockDualPool zarządza pulą SpeedLockDual w celu uzyskania dostępu przez nieograniczoną liczbę jednoczesnych wątków.
- Klasa użyteczności SpeedLocks z metodami dozowania dla różnych rodzajów SpeedLock i fabryk.
Publiczność
Programiści
Język programowania
Java
Jest to aplikacja, którą można również pobrać z https://sourceforge.net/projects/javamutex/. Jest hostowany w OnWorks, aby można go było uruchomić online w najprostszy sposób z jednego z naszych bezpłatnych systemów operacyjnych.