java线程中的中断

java线程中的中断,java,interrupt,Java,Interrupt,我有一个存储字符串对象的向量。我想对vector进行检查,它必须确保若添加了新元素,就会调用中断。如何用JAVA编写中断服务例程(如果可能?一个简单的解决方案是为向量制作一个包装器: class MyVector { private Vector; public setVector(Vector v){ this.vector = v; } public add(String s){ intruptService(); vector.add(s);

我有一个存储字符串对象的向量。我想对vector进行检查,它必须确保若添加了新元素,就会调用中断。如何用JAVA编写中断服务例程(如果可能?

一个简单的解决方案是为向量制作一个包装器:

class MyVector {
  private Vector;

  public setVector(Vector v){
    this.vector = v;
  }

  public add(String s){
    intruptService();
    vector.add(s);
  }

  private intruptService(){
     //TODO
     your-code
  }

}

另一个更复杂的解决方案是使用。

你能展示一下你到目前为止的成果吗?这些元素来自哪里?丹尼尔!到目前为止,我已经运行了另一个线程来检查向量的大小是否发生了变化,如果发生了变化,我会运行所需的代码。这就是为什么我在上面询问向量元素的起源。包装器假设添加新元素是一个同步事件除了
add
,其他情况下是什么?元素可能在任意时间异步出现,例如从某个串行连接。这实际上就是ISR的目的,处理异步事件。这里我们不知道完整的故事,虽然我在父类中定义了很多子类共享的向量。一个子类正在向量中添加对象。其他人只是将矢量数据存储到SQL数据库中。谢谢您的回答。我从计算机上的USB串行端口获取数据,数据传输到vector,所以正如您所提到的,它看起来像一个异步事件。