Как можно потерять System.out.printlnJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как можно потерять System.out.println

Сообщение Anonymous »

Я отлаживаю необычную ошибку в программе воспроизведения аудио, и я ожидаю, что проблема связана с временем между тем, что происходит в разных темах. В качестве первого шага, чтобы попытаться понять, что произойдет, я добавил пару операторов Println для вывода «Start Cons» и «Dode Cons» до и после того, как метод вызовет подобным образом:

Код: Выделить всё

public void run() throws IOException {
new Thread(new Runnable() {
public void run() {
try {
System.out.println("--- start cons");
consumer.runConsumerThread();
System.out.println("--- done cons");
} finally {
synchronized (TrackFeeder.this) {
exit = true;
TrackFeeder.this.notifyAll();
}
}
}
}, "Audio Consumer").start();
< /code>
Когда ошибка не возникает, вывод из обеих этих распечаток появляется в терминале, где я запускаю программу, но безумно заключается в том, что в ситуации, где возникает ошибка , появляется только  вторая распечатка . То есть я получаю < /p>
--- done cons
< /code>
в терминале, но нигде не «--- Start Cons». Как это возможно? Не берите в голову, что существует много резьбовых вещей, и, по -видимому, продолжается какое -то состояние раса: эти операторы явно выполняются в одном и том же потоке, один за другим, так как это возможно для вывода из  second  One появиться без первого появления перед ним? Конечно, существует выход для System.out 
в других местах, в других потоках, но это не должно быть возможно, чтобы это вызвало полное исчезновение вывода, если это? Я не делаю ничего странного с System.out , просто обычная печать.
Моя платформа-Raspberry Pi с OpenJDK 17.0.13+11-Raspbian-2Deb12u1rpt1. Я запускаю один и тот же код на других машинах, но я наблюдал только ошибку, которую я преследую на PI. Феномен здесь, и, конечно, не ожидайте, что кто -то другой отладкует мой код, но на случай, если вы хотите проверить, что я делаю где -то еще, мой полный код здесь, под SRC/Java/Net/Avadeaux/Klipspringer/< /Code> Bullet, и файл, который я цитирую, IS Trackfeeder.java.

Подробнее здесь: https://stackoverflow.com/questions/794 ... ut-be-lost
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как можно потерять System.out.println
    Anonymous » » в форуме JAVA
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • System.out.print против System.out.println (последнее предложение)
    Anonymous » » в форуме JAVA
    0 Ответы
    38 Просмотры
    Последнее сообщение Anonymous
  • OpenTeLemetry-CPP тестовый приложение работает, но тот же код в Times Out Out Out
    Anonymous » » в форуме C++
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Необычное поведение при вызове System.out.println из виртуальных потоков
    Anonymous » » в форуме JAVA
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Почему System.out.println() в Java выводит на консоль?
    Anonymous » » в форуме JAVA
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»