Java: Как создать бесконечный цикл в классе без переопределения основного - PullRequest
0 голосов
/ 13 апреля 2019

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

Вот мой код:

import javax.swing.JFrame;
import javax.swing.*;
class Z{
    public Z(int x,int y){
        JWindow j=new JWindow();
        j.setVisible(true);
        j.setLocation(x,y);
        j.setSize(100,100);

        while(true) {
            System.out.println(0);
        }
    }
}
public class exampleCode{
    public static void main(String[] args) {

        JFrame f=new JFrame();
        f.setVisible(true);
        f.setDefaultCloseOperation(3);

        f.setResizable(false);
        new Z(100,100);
        System.out.println(1);
    }
}

1 Ответ

1 голос
/ 13 апреля 2019

Вы должны узнать о потоках, многопоточности в Java.

Поскольку ваша программа однопоточная, ваш бесконечный цикл while будет препятствовать дальнейшему выполнению кода (кроме того, что внутри блока while). Чтобы избежать этого, вы должны запустить свой бесконечный цикл в новом потоке.

Есть много способов / стилей для достижения этого, и это один из самых коротких:

new Thread(new Runnable() {

    @Override
    public void run() {
        // Your infinite loop here
        while(true) {
            System.out.println(0);
        }
    }
}).start();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...