 <p>No. A generator is not asynchronous. This isn't multiprocessing. </p> <p>If you want to avoid waiting for the calculation, you should use the <code>multiprocessing</code> package so that an independent process can do your expensive calculation.</p> <p>You want a separate process which is calculating and enqueueing results.</p> <p>Your "generator" can then simply dequeue the available results.</p>