TGViewer
Java Developer Java Developer @java_developer · 6.34K subscribers
Post #154 4.04K
Правильный ответ: 2. Почему: это не многопоточная программа. Мы создаем объект типа Thread, но не запускаем его с помощью метода start. Вместо этого основной поток вызывает метод run экземпляра Thread, который выполняется синхронно в основном потоке. Так как одному объекту разрешено повторно получать один и тот же монитор, основной поток получает монитор на BlackWhite.class, когда метод run вызывает метод printBlack. Чтобы запустить новый поток, нужно вызвать метод start класса Thread. Если в программе заменить t.run на t.start, то программа всегда будет печатать "WhiteBlack", так как новый поток не сможет приступить к выполнению, пока главный поток не завершится и не отпустит блокировку.

Что прочитать: у Шилдта про многопоточное программирование. Здесь я описывал его книгу https://t.me/java_developer/48

Что загуглить: запуск нового потока, synchronized на статическом методе
More from @java_developer
  1. Apr 20, 2025Что посмотреть на выходных — 20 Наткнулся в Ютубе на классное шоу. Такой мини-формат Своей…
  2. Apr 6, 2025Впечатления от JPoint 2025 моего коллеги Впечатления позитивные: большинство докладов понр…
  3. Apr 5, 2025JPoint 2025 Вчера сходил на JPoint — Java-конференцию для опытных разработчиков. Билет мне…
  4. Feb 4, 2025video post
  5. Feb 4, 2025яндексоиды, без негатива )
  6. Dec 24, 2024Kafka Какие есть гарантии доставки сообщений Ответ: 1. At most once (не более одного раза)…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →