make reloadData thread safe