Generally speaking, thread safety indicates that using functionality from different threads will not lead to race conditions or deadlocks. In this particular case, I am going to assume that the observations can overwrite each other or otherwise alternate the execution in a way that could cause a crash or other unstable state.
source share