def wait_a_bit(name):
    while not quit:
        print('{n} is doing work...'.format(n=name))
time.sleep(1)

def setup():
    executor = concurrent.futures.ThreadPoolExecutor(max_workers=5)
future1 = executor.submit(wait_a_bit, 'Jack')
future2 = executor.submit(wait_a_bit, 'Jill')
while not (future1.done() and future2.done()):
    time.sleep(1)
How do you kill Futures once they have started?