无法在java线程内创建for循环 - 为什么?

Ste*_*eve 1 java multithreading

我的代码如下

public void incomingMessageThread() throws FileNotFoundException, IOException
{
    new Thread()
    {

        BuildData a = new BuildData();
        for(int i = 0; i<100; i++)
        {
            a.parseDataFile("_"+i+"/outgoingMessages");
        }

    }.start();

}
Run Code Online (Sandbox Code Playgroud)

我被告知这是非法的开始.如果我在线程外部运行代码,它可以正常工作.任何想法都错了吗?

Ale*_*x B 11

您正在使用类中的语句和方法之外的语句.

javadoc中Thread.run:"Thread的子类应该重写此方法."

public void incomingMessageThread() throws FileNotFoundException, IOException
{
    new Thread()
    {
        public void run()
        {
            BuildData a = new BuildData();
            for(int i = 0; i<100; i++)
            {
                a.parseDataFile("_"+i+"/outgoingMessages");
            }
        }

    }.start();

}
Run Code Online (Sandbox Code Playgroud)