黑马程序员技术交流社区

标题: 代码求救:并发小程序,帮忙找找原因吧 [打印本页]

作者: 郝亚平    时间: 2011-11-8 20:11
标题: 代码求救:并发小程序,帮忙找找原因吧
下面是自己写的继承Thread类来实现并发的小东东。能够看到线程之间在“强占CPU”。。

//继承Thread类
class BaseThread extends Thread{
        private String name;
        BaseThread(String myname){
                this.name = myname;
        }
       //重载run()方法,在这里写并发执行代码
        public void run(){
                for (int i=0;i<100;i++){
                        System.out.println(name+"执行标识:"+"->"+i);
                }
        }
}


public class TestThread{
        public static void main(String args[]){

            //程序内开辟两个新的执行路径
            BaseThread bt1= new BaseThread("线程1");
            BaseThread bt2= new BaseThread("线程2");
           //启动线程
            bt1.start();
            bt2.start();

            for (int i=0;i<100;i++){
                System.out.println("主线程执行标识:"+"->"+i);
            }
        }
}

在Eclipse下面可以编译通过,正确执行显示结果。
但是当自己在CMD里面操作时,采用javac工具编译.java也可以生成TestThread.Class和BaseThread.Class两个文件,
而当用java命令去执行.class时,就报错了。错误信息如下,自己就不明白了,Eclipse下可以,为什么命令下就这样啦。。希望给点提示呀。。。谢谢。

Exception in thread "main" java.lang.NoClassDefFoundError: TestThread/class
Caused by: java.lang.ClassNotFoundException: TestThread.class
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: TestThread.class.  Program will exit.



作者: 柴永菲    时间: 2011-11-8 20:27
我在cmd命令下运行你的代码怎么没出现你上面的错误呀你再试试
作者: 郝亚平    时间: 2011-11-8 20:31
柴永菲 发表于 2011-11-8 20:27
我在cmd命令下运行你的代码怎么没出现你上面的错误呀你再试试

恩。真的吗。那我的,是怎么了啊。无语哇。继续找原因中。再试试。呵呵
作者: 喻尚健    时间: 2011-11-8 20:59
找不到.class,如果是在当前路径下找不到.class文件的话,用绝对路径试试。。可能是环境变量没设置正确
作者: 郝亚平    时间: 2011-11-8 21:52
贺行之 发表于 2011-11-8 20:48
楼主没有设置classpath系统参数,鉴定完毕= =

Yeah,works。。。非常谢谢啦:~
作者: 郝亚平    时间: 2011-11-8 21:53
贺行之 发表于 2011-11-8 21:02
刚打电话去了,楼主,在环境变量里新建一个classpath变量,设置值指向JDK目录里的\lib\tools.jar,就可以解决了 ...

恩。谢谢。
作者: 郝亚平    时间: 2011-11-8 21:58
风之末端 发表于 2011-11-8 20:59
找不到.class,如果是在当前路径下找不到.class文件的话,用绝对路径试试。。可能是环境变量没设置正确 ...

恩。谢谢。是环境变量classpath没有配置呀。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2