/
dmmitrii
/
multithreading
Обзор
Документация
Войти
/
dmmitrii
/
multithreading
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
InstagramPostStatus.java
47 строк
1 KB
dmmitrii
multithreading
16 май 2025, 00:38
16 май 2025, 00:38
800c917
Код
Авторство
О чём код?
package multithreading; /** * Класс {@code InstagramPostStatus} моделирует ситуацию с обновлением и чтением статуса публикации. * * Поле {@code published} отвечает за состояние поста: * - false — пост не опубликован * - true — пост опубликован */ public class InstagramPostStatus { private boolean published = false; private boolean contentLoaded = false; public void publisher() { // Загрузка контента поста contentLoaded = true; // Установка статуса "опубликован" published = true; } public void viewer() { while (!published) { // waiting } if (contentLoaded) { System.out.println("Post is published and content is loaded."); } else { System.out.println("Post is published but content is NOT loaded yet."); } } public static void main(String[] args) throws InterruptedException { InstagramPostStatus post = new InstagramPostStatus(); Thread publisherThread = new Thread(post::publisher); Thread viewerThread = new Thread(post::viewer); viewerThread.start(); Thread.sleep(100); publisherThread.start(); viewerThread.join(); publisherThread.join(); } }