Multithreading 在以下java代码中运行以执行启动屏幕的线程总数是多少?

Multithreading 在以下java代码中运行以执行启动屏幕的线程总数是多少?,multithreading,Multithreading,以下代码在软件应用程序中执行启动屏幕。在主类上创建一个类加载窗口的对象来调用构造函数。以下代码中使用的线程总数是多少: public LoadingWindow() { setUndecorated(true); initComponents(); setLocationRelativeTo(this); ImageIcon image=new ImageIcon(getClass().getResource("/snakegame/icons/spl

以下代码在软件应用程序中执行启动屏幕。在主类上创建一个类加载窗口的对象来调用构造函数。以下代码中使用的线程总数是多少:

public LoadingWindow() {
     setUndecorated(true);
    initComponents();
    setLocationRelativeTo(this);
    ImageIcon image=new ImageIcon(getClass().getResource("/snakegame/icons/splash.png"));
    imageLabel.setIcon(image);
    setLayout(null);
      new Thread(new Runnable() {
        @Override
        public void run() {
            int i=0;
            while(i <= 100){
                progressBar.setValue(i);
                try {
                    sleep(95);
                } catch (Exception e) {
                }
                i=i+5;
            }
        }
    }
    ).start();
        startProgress();
}
公共加载窗口(){
未装饰的设置(真实);
初始化组件();
setLocationRelativeTo(此);
ImageIcon image=newImageIcon(getClass().getResource(“/snakegame/icons/splash.png”);
imageLabel.setIcon(图像);
setLayout(空);
新线程(newrunnable()){
@凌驾
公开募捐{
int i=0;

while(i)有一个UI线程,您正在显式地创建另一个。在调试工具中,您可能会看到其他GC线程或其他地方创建的线程。顺便说一句,您从未设置
t
。这是干什么用的?顺便说一句,如果
progressBar
是什么,它看起来是什么(一个UI组件)除UI线程外,您不能在其他线程中设置其值。@derpirscher我想这就是问题所在…x-yRe,
progressBar.setValue(I)
,请阅读。这是后台线程(例如,您的
while
循环)如何提交UI线程下一次执行的任务(即
可运行的
)。