add or remove in multi-thread