Одно использование будет заключаться в том, чтобы операции (операции) выполнялись атомарно, например:
sw_interval = sys.getswitchinterval()
try:
# Setting the switch interval to a very big number to make sure that their will be no
# thread context switching while running the operations that came after.
sys.setswitchinterval(sys.maxint)
# Expressions run here will be atomic ....
finally:
sys.setswitchinterval(sw_interval)
Другим вариантом использования будет настройка вашего кода специально, если вы столкнулись с эффектом конвоя (или любым регистром, где новый GIL дает плохая производительность). Может быть (возможно,) изменение интервала переключения контекста может дать вам больше скорости.
Отказ от ответственности:. Первый описанный выше метод рассматривает темную магию и полностью не рекомендуется (предпочтительные в этом случае использования threading.Lock -likes). В общем, я не думаю, что изменение интервала переключения контекста потока - это что-то делать при нормальных обстоятельствах. Я перефразирую то, что Тим Петерс уже говорит о метаклассах: changing thread context switch interval is deeper magic than 99% of people are going to need.