code: def test_multi_thread_attr(self):
      def target():
          self.config.y = "local y2"
          self.global_config.x = "global x2"
          self.global_config.z = "global z2"
  
      thread = threading.Thread(target=target)
      thread.start()
      thread.join()
  
      self.assertEqual(self.config.y, "local y")
      self.assertEqual(self.config.x, "global x2")
      self.assertEqual(self.config.z, "local z")
      self.assertEqual(self.global_config.z, "global z2")
  
file_path: chainer/tests/chainer_tests/test_configuration.py
imports: import io
  import threading
  import unittest
  import chainer
  from chainer import configuration
  from chainer import testing
label_desc: Use image node_id 3 for calling the TestLocalConfig obj's underlying member method code with example usage: obj.test_multi_thread_attr() without return types