mirror of https://github.com/jumpserver/jumpserver
18 lines
538 B
Python
18 lines
538 B
Python
from concurrent.futures import ThreadPoolExecutor
|
|
|
|
|
|
class SingletonThreadPoolExecutor(ThreadPoolExecutor):
|
|
"""
|
|
该类不要直接实例化
|
|
"""
|
|
|
|
def __new__(cls, max_workers=None, thread_name_prefix=None):
|
|
if cls is SingletonThreadPoolExecutor:
|
|
raise NotImplementedError
|
|
if getattr(cls, '_object', None) is None:
|
|
cls._object = ThreadPoolExecutor(
|
|
max_workers=max_workers,
|
|
thread_name_prefix=thread_name_prefix
|
|
)
|
|
return cls._object
|