internal void remove(int id)
 {
     if (id != key.id)
     {
         throw new System.Exception("this is id not match id=" + id + " key.id=" + key.id);
     }
     key = null;
 }
 internal InterrupKey ask()
 {
     if (key == null)
     {
         key    = new InterrupKey();
         key.go = true;
         key.id = _currentId++;
         return(key);
     }
     else
     {
         key.go = false;
         return(null);
     }
 }