input: Write a python function to sum two matrices using threading.
  assert matrix_sum_threaded(np.array([[2, 3, 4], [5, 6, 7]]), np.array([[3, 4, 5], [6, 7, 8]])).tolist() == [[5, 7, 9], [11, 13, 15]]
  assert matrix_sum_threaded(np.array([[1, 2], [3, 4]]), np.array([[5, 6], [7, 8]])).tolist() == [[6, 8], [10, 12]]
  assert matrix_sum_threaded(np.array([[0, 0], [0, 0]]), np.array([[1, 1], [1, 1]])).tolist() == [[1, 1], [1, 1]]
output: import numpy as np
  import threading
  
  def matrix_sum_threaded(matrix1, matrix2):
      def sum_elements(i, j):
          result[i][j] = matrix1[i][j] + matrix2[i][j]
  
      rows, cols = matrix1.shape
      result = np.zeros((rows, cols))
      threads = []
  
      for i in range(rows):
          for j in range(cols):
              t = threading.Thread(target=sum_elements, args=(i, j))
              threads.append(t)
              t.start()
  
      for t in threads:
          t.join()
  
      return result