下面是自己写的继承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.
|