Junior — Middle
How is thread switching management implemented in Python?
sobes.tech AI
Answer from AI
In Python, thread switching management is handled by the interpreter's thread scheduler, which uses the GIL (Global Interpreter Lock) mechanism. The GIL allows only one thread to execute Python bytecode at a time, affecting parallelism.
Switching between threads occurs automatically when the current thread is blocked (for example, during I/O operations) or after a certain number of operations (time slice).
For explicit control, you can use methods from the threading module, such as threading.Event for synchronization, but there is no direct control over thread switching (as in low-level languages) in Python.
Example of creating and starting threads:
import threading
import time
def worker():
print('Thread started')
time.sleep(1)
print('Thread finished')
thread = threading.Thread(target=worker)
thread.start()
thread.join()