File size: 570 Bytes
17e971c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | from wptoolkitModel.acquire import acquire
import threading
import gc
_GC_DISABLE_COUNT = 0
_GC_DISABLE_COUNT_LOCK = threading.Lock()
# 停用GC
def gc_disable():
with acquire(_GC_DISABLE_COUNT_LOCK, timeout=1):
global _GC_DISABLE_COUNT
_GC_DISABLE_COUNT += 1
if _GC_DISABLE_COUNT > 1:
return
gc.disable()
# 启用GC
def gc_enable():
with acquire(_GC_DISABLE_COUNT_LOCK, timeout=1):
global _GC_DISABLE_COUNT
_GC_DISABLE_COUNT -= 1
if _GC_DISABLE_COUNT > 0:
return
gc.enable()
|