code: def single_queue_sync_rw(mplib):
      """Synchronize write and read."""
      send_q = mplib.SimpleQueue()
      put = False
      for num in range(NUM):
          if num % 1000 == 0:
              put = not put
              print(
                  datetime.now().strftime("%H:%M:%S.%f"),
                  "put" if put else "get",
                  num,
              )
          if put:
              send_q.put(MSG)
          else:
              send_q.get()
  
file_path: fiber/examples/bench_queue.py
imports: import sys
  import time
  import fiber
  import multiprocessing
  from threading import Thread
  from fiber import SimpleQueue
  from datetime import datetime
  import logging
  import time
  import random
label_desc: Use image node_id 3 for calling a global function with example usage: single_queue_sync_rw(mplib) without return types