It is essentially a question on how a DataLoader is implemented. Does a DataLoader mutate its underlying dataset? If a DataLoader does not mutate its underlying dataset in anyway but just create randomly shuffle indexes to access the dataset, then multiple DataLoaders backed by the same dataset won’t intervent with each other no matter they are used at the same time or not.