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

我相信静态main方法中使用的变量也应该是静态的.
问题是我根本不能在这个方法中使用它.如果我没记错的话,我必须使用commnad myThread = new ThreaD(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);



    }


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

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

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

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

相关文章
相关标签/搜索