Would a RDLOCK be sufficient here?