code: def test_multiprocess_shared_dataloader():
      dataset = DummyDataset(100)
      with DataQueue(dataset, producer_num_workers=1) as data_queue:
          queue = multiprocessing.Queue()
          processes = []
          for _ in range(3):
              processes.append(
                  multiprocessing.Process(
                      target=_worker, args=(data_queue, queue)
                  )
              )
              processes[-1].start()
          for p in processes:
              p.join()
          assert len(set(_queue_to_list(queue))) == 100
  
file_path: qlib/tests/rl/test_data_queue.py
imports: import multiprocessing
  import time
  import numpy
  import pandas
  from torch.utils.data import Dataset, DataLoader
  from qlib.rl.utils.data_queue import DataQueue
label_desc: Use image node_id 4 for calling a global function with example usage: test_multiprocess_shared_dataloader() without return types