code: def test_multi_thread_config():
      options.register_option("a.b.c", 1)
  
      class T(threading.Thread):
          def __init__(self, is_first, condition):
              super().__init__()
              self.is_first = is_first
              self.condition = condition
  
          def run(self):
              self.condition.acquire()
              if self.is_first:
                  options.a.b.c = 2
                  self.condition.notify()
              else:
                  self.condition.wait()
                  assert options.a.b.c == 1
              self.condition.release()
  
      try:
          cond = threading.Condition()
          a = T(True, cond)
          b = T(False, cond)
          b.start()
          a.start()
          a.join()
          b.join()
      finally:
          options.unregister_option("a.b.c")
  
file_path: mars/mars/tests/test_config.py
imports: import pickle
  import threading
  import pytest
  from ..config import options, option_context, is_integer, is_string, Config
label_desc: Use image node_id 2 for calling a global function with example usage: test_multi_thread_config() without return types