gpt4 book ai didi

java - 如何从 Java 应用程序中的 Main 方法运行线程?

转载 作者:搜寻专家 更新时间:2023-11-01 01:08:50 26 4
gpt4 key购买 nike

我相信static main 方法中使用的变量也应该是static。问题是我根本无法在此方法中使用 this 。如果我没记错的话,我必须使用 commnad myThread = new ThreaD(this) 启动线程。

下面的代码会产生错误,因为我在线程启动中使用了 this。我在这里做错了什么?

package app;

public class Server implements Runnable{

static Thread myThread;


public void run() {
// TODO Auto-generated method stub
}

public static void main(String[] args) {
System.out.println("Good morning");

myThread = new Thread(this);



}


}

最佳答案

不能使用this,因为main是一个静态方法,this指的是当前实例,没有。您可以创建一个可传递给线程的 Runnable 对象:

myThread = new Thread(new Server());
myThread.start();

这将导致您在 Server 类的 run 方法中放置的任何内容都由 myThread 执行。

这里有两个独立的概念,Thread 和 Runnable。 Runnable 指定了需要做什么工作,Thread 是执行Runnable 的机制。虽然 Thread 有一个可以扩展的 run 方法,但您可以忽略它并使用单独的 Runnable。

关于java - 如何从 Java 应用程序中的 Main 方法运行线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6878426/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com