在我的程序中
我的主要目标是调试时只执行创建和修改。为了使代码更简洁,我想避免将相同的条件传递给所有三个地方,而是确保仅在使用对象时才创建和修改该对象(而不是在应该使用它的时候,因为这会为代码腐烂)。
这样做的一种方法是使用
concurrent.futures
。然而,这伴随着创建线程/进程的开销,即使不调试也必须支付。我想避免这种情况(我可以忍受没有加速的好处,因为我只会在调试时受益,即当对速度的期望无论如何都放松时)。
我的想法是使用“非并发未来”,这在创建和修改上几乎没有开销,只有在实际使用时才会花费。从
SynchronousExecuter
推导出 concurrent.futures.Executor
会相对简单 - 那会是我最好的选择吗?
我能看到的唯一选择是使用生成器,但这变得笨拙了。因为它们针对的是我需要单个对象和 b 的序列。因为稍后修改了对象。