public UnLoadJobTarget(int file_index, Tdata data, ReadStateImpl *state_ptr)
            {
                this.data = new GCHandle <Tdata>();

                this.data.Create(data);
                this.state_ptr  = state_ptr;
                this.file_index = file_index;
            }
 public unsafe void AddUnLoadTarget(int file_index, Tdata data, ReadStateImpl *state_ptr)
 {
     _target.Add(new UnLoadJobTarget <Tdata>(file_index, data, state_ptr));
     _info.Target->alloc_handle = true;
 }