Подтвердить что ты не робот

Небольшой проект для изучения Java-потоков

Я программировал в java некоторое время (5 лет), и я думаю, что у меня есть хорошее понимание большинства аспектов языка. Тем не менее, я думаю, что я не работал с потоками столько, сколько хотел.

Что было бы хорошим небольшим проектом, чтобы глубоко изучить потоки Java?

Любые рекомендации?

Спасибо

4b9b3361

Ответ 1

Приложение клиентского сервера:

сервер принимает соединения в сокете и создает поток связи для каждого клиента.

Это может быть игра или диспетчер задач или что угодно.

Изменить: я разработал такой клиент eMule, как это во время моей стажировки, это легко сделать, и вы можете изучить все аспекты программирования потоков.

Ответ 2

Я написал java-версию PacMan. PacMan был на его собственной нити, как и каждый Призрак. Каждый призрак имел свой собственный алгоритм поиска PacMan.

Ответ 3

Отличный способ начать - это реализовать проблему

Ответ 4

Я изучил темы, написав моделирование лифта. Каждый поток представляет собой объект, представляющий лифт в здании. Отдельная структура содержит "какие кнопки были нажаты на этажах?"

Это может быть не практическое применение - это не веб-браузер, но это час или два, и, когда вы закончите, вы, несомненно, будете намного лучше разбираться в потоках и синхронизации. Если вы хотите потратить гораздо больше времени, обманывая это, я все равно могу попробовать что-то очень простое, чтобы ваши ноги были мокрыми.

Ответ 5

Напишите веб-искатель!

Ответ 6

Попробуйте разработать систему мгновенных сообщений, в которой несколько пользователей подключаются к одному серверу. Выдержка ниже взята из Дителя и Дителя - Java. Как программировать 6-е издание.

Чаты стали обычным явлением на Интернет. Они обеспечивают центральную местоположение, где пользователи могут общаться друг с другом через короткий текст Сообщения. Каждый участник может видеть все сообщения, которые публикуют другие пользователи, и каждый пользователь может отправлять сообщения.

С помощью этого упражнения вы можете испытать 5 лет опыта, так как этот небольшой проект требует не только многопоточности, но и сетевого интерфейса и графического интерфейса. Кроме того, вам нужно использовать метод многоадресной передачи.

Кроме того, проекты с открытым исходным кодом, использующие многопоточность, - еще одно хорошее место, чтобы получить вдохновение и увидеть примеры реальной жизни. Оттуда вы можете принять участие или начать свой собственный проект с открытым исходным кодом.

Все самое лучшее!

Ответ 7

В качестве первого шага рассмотрим возможность использования Обеденные проблемы Phisolophers. Это познакомит вас с различными способами запуска потоков, определения секционированных заданий и обмена данными между потоками.

Существует много "правильных" решений и более опасных попыток. Начать сначала пакеты java.util.concurrent. Напишите это неправильно и изучите, что нужно, чтобы сделать его правильным.

Ответ 8

Напишите программное обеспечение чата P2P с TCP. Вам также нужно знать о Java Networking и Streams, но это не слишком сложно. И изучение пакета java.net стоит усилий!