Специализируется на одной функции, без дополнительных ошибок
Лёгкий, надёжный и простой в изучении инструмент для управления параллелизмом.
Если вы уже знакомы с управлением многопоточностью в Java, особенно с ReentrantReadWriteLock для чтения и записи, то вам будет легче освоить этот инструмент.
Этот инструмент использует стандарт блокировки чтения-записи. Независимо от внутренней реализации, внешний интерфейс предоставляет методы read и write для различения областей параллелизма для блокировок чтения и записи.
// Попытка получить блокировку чтения
SyLock.newObjLock().read(() -> {
// Код области параллелизма
[return null;]? // Можно выбрать, возвращать ли значение
});
// Попытка получения блокировки записи
SyLock.newObjLock().write(() -> {
[return null;]?
});
Это основное использование. Код, который необходимо обрабатывать параллельно, инкапсулируется через интерфейс Runnable. Часть кода для включения и выключения управления параллелизмом инкапсулирована этим инструментом. Просто передайте код, который нужно выполнить, указанным способом.
SyLock — это стандартный интерфейс этого инструмента, который также содержит базовые фабричные методы для различных реализаций.
Можно создать внутреннюю блокировку с использованием разных реализаций через фабричные методы интерфейса.
// Использование
SyLock.newObjLock().read(() -> {
// Код области параллелизма
});
// Не используется
synchronized ( new Object() ){
// Код области параллелизма
}
// Использование
SyLock.newReLock().read(() -> {
// Код области параллелизма
});
// Не используется
ReentrantLock lock = new ReentrantLock();
try {
lock.lock();
// Код области параллелизма
} finally {
lock.unlock();
}
// Использование
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 )