Think of a program written for an elevator. Every elevator gets the same program. This program should be able to negotiate with the other elevators to get people where they want to be in the most efficient way. Every elevator runs the same program and has the same abilities. Most likely there is one separate program that acts like a broker. Most of the time this is a term you will recognize.
At first, You have to know your language whether it is a multithreading language or not.
I remebered Python is a one-thread language, and Java supports multithreading. You probably say that Python has a module called threading. But It ‘s not that easy. Based on my knowing, You can google some examples to see how it works.
ps: If I were wrong, please tell me to prevent misleading others.
Python has the GIL, which is the Global Interpreter Lock. This means that only one thread can use the interpreter at one time. However, multithreading is still possible in Python because certain tasks, including IO, release the GIL. Additionally, not all implementations of Python have the GIL. For example, Jython does not have the GIL.