我正在使用 GUI,并且我正在使用
Thread.sleep();
在某些类中,我想知道是否需要为我的 Main
创建一个单独的线程类(GUI 类),或者每个类默认都有一个单独的线程。请注意,我提出 Thread.sleep();
的原因首先是使用 GUI 时 Thread.sleep();
几乎卡住了你的 GUI。无论如何,我的主要问题是我是否需要为我的 Main
创建一个单独的线程类或者每个类默认都有一个单独的线程。
最佳答案
Thread.sleep()是Thread类的静态方法。因此,无论您在方法中放置哪个类,在运行时,如果线程调用流程遇到调用了 Thread.sleep() 的此类方法,则该线程将被阻塞一段时间。
您的问题:
无论如何,我的主要问题是我是否需要为我的主类创建一个单独的线程,或者默认情况下每个类都有一个单独的线程。
每个类默认都有一个单独的线程——错误语句
-- Thread类并不是被每个类继承
-- 通常意义上,Thread是一个调用流程。它执行通过其方法调用遇到的任何类。
-- 类和线程是两个独立的概念。
---- 类是一个实体的定义,它不能单独运行,它可以被加载、用数据实例化、可以进行方法调用和垃圾收集。
---- 线程是运行时的执行实体。它可以启动、可运行、阻塞、停止。为了支持这个概念,Java提供了Thread类或Runnable接口(interface)来分别扩展/实现。我需要为我的主类创建一个单独的线程吗?
-- 您的主类将在 MainThread 中执行,该 MainThread 由您的 JVM 实例化并启动。
-- 最好定义一个单独的用户定义线程来启动 GUI。
-- 如果在 MainThread(或)用户定义的线程中,如果在调用流程中遇到 Thread.sleep(),则该特定线程将被阻塞。
还有一件事,您的问题不清楚您是否需要使用 Thread.sleep()。您只是给出了使用它的原因,但没有给出使用的必要性。
关于java - 每个类默认都有自己的Thread吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21373276/