你最好定义3个class,另外一个是你自己实现的队列,然后那些增删功能都写在这个class中并使用同步技术。在main()都只实现一个实例,之后只要互相传递指针给对方即可实现调用功能。

解决方案 »

  1.   

    定时循环发送的类可以使用线程,数据包队列用Vector实现。为了保证访问Vector的线程安全,建议将关于对Vector的提取与增删操作都加上同步。
    这样就没有问题了。大概的格式(你需要定义自己的数据包类):class YourClass extends Thread{
      private Vector  packetVector
      
      public YourClass(){
         packetVector = new Vector();
      }
      synchronized private Object getPacket(){
         if(packetVector.isEmpty()) return null;
         Object obj = packetVector.firstElement();
        // if you want remove the element ,add packetVetor.remove(0);
         return obj;
      }
      synchronized public void addPacket(Object aPacket){
         packetVector.add(aPacket);
      }
      public void run(){
        while(true){
            try{
               Object obj = getPacket();
               if(obj == null){
                  sleep(1000);
               }
               else{
                   // send the packet with what you want method
               }
            }catch(Exception e){}
        }
      }
      }
      

  2.   

    用SOCKET通讯实现吧!至于你说的隔多长时间间隔扫描等,可用监听端口的设置扫描时间来设置。
    你可以看看JMS能否满足你的需要。