活动对象列表

时间:2017-12-29 12:50:16

标签: java

我正在尝试做类似下面的事情。

A类 - 它是一个具有静态成员变量的类,它也从线程类扩展而来。它有一个B类对象的静态arraylist。

B类 - 只是一个对象需要注册到A类的类,在注册时,来自A类的线程会在某个时间间隔内连续调用对象的某些方法。

class A extends Thread
{
    private static A a;
    private static ArrayList objsClassB;
    void run()
    {
      /* infinitely iterate through the objsClassB objects and call certain methods..
         in try and catch */
    }

    public static void StartEmulating() {
        if(a == null)
        {
            a = new A();
            a.start();
        }
    }   
    public static void registerToA(B m1)
    {
       objsClassB.add(m1);
    }

}

class B
{
   B()
   {
     registerToA(this);
   }
}
public static void main(String[] args)
{
   A.StartEmulating();
   B b1 = new B();
   B b2 = new B();
   //make b2 = null to simulate object deletion...
   b2 = null;
}

现在,我想要做的是,如果由于某种原因b2被删除(即,让我们说创建它的线程崩溃了)我想从列表中取消注册,但这不会发生。 我有办法将b2存储在列表中吗?

0 个答案:

没有答案