1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/fybug-PDConcurrent

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Специализируется на одной функции, без дополнительных ошибок

Введение

Лёгкий, надёжный и простой в изучении инструмент для управления параллелизмом.

Основное использование

Если вы уже знакомы с управлением многопоточностью в Java, особенно с ReentrantReadWriteLock для чтения и записи, то вам будет легче освоить этот инструмент.

Этот инструмент использует стандарт блокировки чтения-записи. Независимо от внутренней реализации, внешний интерфейс предоставляет методы read и write для различения областей параллелизма для блокировок чтения и записи.

> Базовый пример использования

// Попытка получить блокировку чтения
SyLock.newObjLock().read(() -> {
    // Код области параллелизма
    [return null;]? // Можно выбрать, возвращать ли значение
});

// Попытка получения блокировки записи
SyLock.newObjLock().write(() -> {
    [return null;]?
});

Это основное использование. Код, который необходимо обрабатывать параллельно, инкапсулируется через интерфейс Runnable. Часть кода для включения и выключения управления параллелизмом инкапсулирована этим инструментом. Просто передайте код, который нужно выполнить, указанным способом.

SyLock — это стандартный интерфейс этого инструмента, который также содержит базовые фабричные методы для различных реализаций.

Пример изменённой блокировки

Можно создать внутреннюю блокировку с использованием разных реализаций через фабричные методы интерфейса.

> Блокировка synchronized

// Использование
SyLock.newObjLock().read(() -> {
    // Код области параллелизма
});

// Не используется
synchronized ( new Object() ){
    // Код области параллелизма
}

> Блокировка ReentrantLock

// Использование
SyLock.newReLock().read(() -> {
    // Код области параллелизма
});

// Не используется
ReentrantLock lock = new ReentrantLock();
try {
    lock.lock();
    // Код области параллелизма
} finally {
    lock.unlock();
}

> Блокировка ReadWriteLock

// Использование
SyLock.newRWLock().read(() -> {
    // Код области параллелизма
});

// Не используется
ReadWriteLock lock = new ReentrantReadWriteLock();
try {
    lock.readLock().lock();
    // Код области параллелизма
} finally {
    lock.readLock().unlock();
}

Способ использования

Импортируйте файл jar. Файл можно найти в папке с файлами выпуска или в папке jar проекта.

PDConcurrent.jar — пакет без исходного кода.

PDConcurrent_all.jar — пакет с исходным кодом.

PDConcurrent_sources.jar — только пакет с исходным кодом.

В выпуске можно увидеть все версии. Папка jar проекта — это последняя ночная версия.

Вы можете узнать больше об этом инструменте через WIKI или документы doc.

Описание ветки

dev-master: текущая ветка разработки, где можно получить последнюю ночную версию jar.

releases: текущая ветвь выпуска, стабильная версия исходного кода.


Обратная связь или предложения по ошибкам

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Лёгкий, надёжный и простой в освоении инструмент для управления параллелизмом в Java. Развернуть Свернуть
Apache-2.0
Отмена

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/fybug-PDConcurrent.git
git@api.gitlife.ru:oschina-mirror/fybug-PDConcurrent.git
oschina-mirror
fybug-PDConcurrent
fybug-PDConcurrent
master