Read about object-oriented programming terminologies like class, objects, constructor, inheritance, encapsulation, class methods, static methods, getters, setters, and their specific implementation in Python. A good place to start would be the official documentation of classes at https://docs.python.org/3/tutorial/classes.html.
Read the official documentation of Python object serialization at https://docs.python.org/3/library/pickle.html.
Read more about threading, context switching, and thread-based parallelism in general, along with its specific implementation in Python. The official documentation for threading is located at https://docs.python.org/3/library/threading.html.