Python Language ensures safe access to threads. It uses the GIL mutex to set synchronization. If a thread loses the GIL lock at any time, then you have to make the code thread-safe.
For example, many of the Python Language operations execute as atomic such as calling the sort() method on a list.