Not thread safe:
System.Collections.Generic.Queue
Thread safe:
System.Collections.Concurrent.ConcurrentQueue
or
System.Collections.Concurrent.BlockingCollection (which uses a concurrent queue by default internally)
Although technically you really shouldn’t use the term “thread safe”. It’s simply too ambiguous. The first is not designed to be used concurrently by multiple threads, the rest are.