Проектирование и многопоточность Java

257
30 марта 2018, 12:56

Существует кусками реализованная структура проекта. Без многопоточности. Но нужно ее создать, и для этого мне требуется ваш совет. Итак, структура проекта:

ИДЕЯ

Main создает Thread главных классов в пакете. В runэтих Thread создаются дополнительные Thread или просто объекты подклассов в пакете типа publicRequest.Объекты приносят информацию главному классу в пакете, а так же должны будить главный класс в другом пакете, например check, заставить его выполнить нужный метод и вернуть нужную информацию, например ОК или не ОК(он же проверяет), а thread который это вызывал соответственно должен ждать ответа от check thread и возвращать только после его проверки.

Запускает весь этот процесс Main, запускается каждый thread и падает в wait, и потом, когда запускается class giant он вызывает к примеру MASTER Thread тот видит что информация устарела, выполняет метод(см выше) и возвращает обратно. Таким образом на схеме я показал, что одни создаются(в main), другие командуют(Директора(главные классы, Thread), а третьи работают на других(если это Thread От директора), и они в свою очередь могут так же пинать других типа check

Пакетов в программе 5 штук. Главные классы содержат в себе готовую информацию для выдачи. Подклассы эту информацию добывают и вычисляют, и пинают отдел Check который пинает всех остальных, и на основе нужных данных возвращает добро или не добро. Руководит этим всем хаосом class GIANT, который циклично повторяет некий код, заставляя всех остальных работать.

Таким образом, ни один из главных классов не смешивается, и не мешают друг другу выполнять работу. В основном им не требуются getter'ы и setter'ы друг друга, они должны будут получать информацию по return методов от других потоков.(предполагаю)

ВОПРОСЫ:

  • Это вообще возможно? (можно не отвечать дальше если здесь ответ нет)
  • Как сделать так, чтобы Thread - PublicRequest заставил Thread Check выполнить определенный метод (скажем проверил бы что то и вернул результат)?

  • Возможно ли, чтобы один Thread(Скажем директор), каждую минуту выполнял функцию, и одновременно ждал пока его кто нибудь notify, и если его кто-нибудь пнет, тогда бы он закончил то что начал и начал выполнять этот Notify?

  • Насколько рационален с вашей точки зрения такой подход к проектированию своего ПО? Какие минусы вы знаете при таком подходе,
    или возможно мой подход в корне не верен, и надо все писать по
    другому?

КОММЕНТАРИЙ

Это мой первый крупный проект, а я еще наверно даже не Java Junior, поэтому я могу не знать, что что-то вообще существует. Я не прошу конкретных ответов, если вы устали или вам лень долго писать, напишите хотя бы куда копать,а так же если это не возможно, пожалуйста предложите идею как реализовать хотя бы примерную схему(если она конечно не слишком убогая). Спасибо за ваше внимание!

READ ALSO
GridView in LinearLayout

GridView in LinearLayout

Можно ли использовать gridview в linearlayout/ Ставлю, вроде отображает,а содержимого нету!

205
JSP Поле с нижним подчеркиванием

JSP Поле с нижним подчеркиванием

JSP ругается на поле с нижним подчеркиванием, но информации о том, что так делать нельзя, я не нашел

186
Не видна зависимость, добавленная gradle

Не видна зависимость, добавленная gradle

У меня есть следующий buildgradle файл:

170
Как в java выполнить код через секунду?

Как в java выполнить код через секунду?

ЗдравствуйтеУ меня возник вопрос насчет таймеров в Java, как мне сделать так, чтобы вывод сообщения производился через одну секунду? В инете...

174