一般是在某一个.java文件中开始线程的,难道不能控制吗?
总不见的是
java threadA
java threadB 
而要threadB kill threadA 吧?

解决方案 »

  1.   

    用import ...;//你的类,包括包名的
    就可以用第一个类了.
      

  2.   

    比如说我有三个类文件:a、b、c:b生成一个窗口,c负责关闭这个窗口,而a是主程序,我在c中该如何实现关闭b生成的窗口的任务,最后我要在b中生成一个c的实例,来完成c要完成的任务。
      

  3.   

    三个类放在同一个目录中,甚至放在同一个文件中,一个类声明为public即可.
    不需互相import.
    class A {
      Object isWindowReady = new Object();
      Frame frame = null;
      public static void main(String[ ] args) {
         A o = new A();
         if(true) {
            new CreateWindow2(o).start();
         } else { // I would prefer this approach
            new CreateWindow(o).start();
            new CloseWindow(o).start();
         }
      }
    }
    class CreateWindow extends  Thread {
    A o = null;
    public CreateWindow(A o) {
    this.o = o;
    }
    public void run() {
    synchronized(o.isWindowReady) {
    o.frame = new JFrame();
    o.isWindowReady.notify();
    }
    }
    }
    class CreateWindow2 extends  Thread {
    A o = null;
    public CreateWindow2(A o) {
    this.o = o;
    }
    public void run() {
    new CloseWindow(o).start();
    synchronized(o.isWindowReady) {
    o.frame = new JFrame();
    o.isWindowReady.notify();
    }
    }
    }
    class CloseWindow extends  Thread {
    A o = null;
    public CloseWindow(A o) {
    this.o = o;
    }
    public void run() {
    synchronized(o.isWindowReady) {
    if(o.frame == null ) {
    try{
    o.isWindowReady.wait();
    }catch(InterruptedException e) {}
    }
    o.frame = null;
    }
    }
    }