from concurrent.futures import ProcessPoolExecutor class A: def __getstate__(self): raise RuntimeError("You cannot pickle this!") def get_answer(self): return 42 a = A() with ProcessPoolExecutor(max_workers=1) as pool: pool.submit(a.get_answer)