Skip to content

danilaslynko/ShipsMultithreading

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

ShipsMultithreading

My testing task for basic Multithreading skills in Java. Found such an interesting problem on habrahabr and solved it. Description in Russian:

Есть транспортные корабли, которые подплывают к туннели и далее плывут к причалам для погрузки разного рода товара. Они проходят через узкий туннель где одновременно могут находиться только 5 кораблей. Под словом “подплывают к туннели” имеется ввиду то, что корабли должны откуда-то появляться. Их может быть ограниченное количество, а может быть бесконечное множество. Слово “Подплывают” назовем генератором кораблей. Тип груза на кораблях и их вместительность могут быть разными. Далее есть 3 вида причалов для погрузки кораблей — Хлеб, Банан и Одежда. Каждый причал берет или подзывает к себе необходимый ему корабль и начинает его загружать. За одну секунду причал загружает на корабль 10 ед. товара. То есть если у корабля вместительность 50 шт., то причал загрузит его за 5 секунд своей работы. Требования: Правильно разбить задачу на параллельность; Синхронизировать потоки, сохранить целостность данных; Работа генератора кораблей не должна зависеть от работы причалов и наоборот; Общий ресурс должен быть Thread Safe; Потоки не должны быть активными если нет задач; Потоки не должны держать mutex если нет задач;

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages