Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

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

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages